Копирование форматированного текста с веб-страницы в диалоговое окно ввода Applescript

8

У меня есть Applescript, который - упрощенно - выглядит так:

...
display dialog "foo" default answer ""
...

Один из пользователей этого скрипта запускает Lion. Всякий раз, когда он пытается скопировать / вставить строку в диалоговое окно ввода, это не будет работать, если источник копии имеет некоторое форматирование (например, строка копируется с веб-страницы). Все отлично работает под Snow Leopard.

Любой намек на то, почему это происходит?

Роберто Алои
источник
3
Похоже, это новая ошибка в Lion. Кажется, проблема именно в копировании текста любого цвета, кроме чисто белого или чисто черного.
Джоэлсеф
Вы можете выбрать текст и перетащить его в диалоговое окно AppleScript? Я видел эту работу должным образом раз или два, когда копирование / вставка не удалась ... Но я не знаю, будет ли она работать с AppleScript.
Веллингтон

Ответы:

1

Я нашел то же самое - если я копирую / вставляю из TextEdit в режиме Rich Text, я не могу вставить в поле ввода. Если я изменю режим на обычный текст, он будет работать нормально.

Вот приложение, которое я нашел, и которое сработало для меня. Это работает путем преобразования буфера обмена в простой текст:

try
  set the clipboard to string of (the clipboard as record)
on error errMsg
  display dialog errMsg
end try

Вам нужно сделать его исполняемым скриптом, а затем привязать его к сочетанию клавиш. После этого всякий раз, когда вы копируете какой-либо форматированный текст, выполняйте комбинацию клавиш, и затем вы можете вставить текст без проблем.

Роджер
источник
1
Поскольку ссылки на внешние сайты часто ломаются, полезно обобщать содержание сайта, на который ведут ссылки, а не просто размещать ссылку.
Даниэль
1

Я пытался воспроизвести проблему с

on run
    set dialogResult to display dialog "foo" default answer ""
    set newText to text returned of dialogResult
    display dialog "Text entered: " & newText
end run

но, по крайней мере, на первый взгляд все работает нормально. С какой конкретной проблемой вы столкнулись («не сработает», это довольно широко)?


Обновить

Проблема была исправлена ​​в OS X 10.8, только что получил письмо от devbugs@apple.com:

14.09.2012 19:40 Команда разработчиков отчетов об ошибках Apple:

Мы считаем, что эта проблема была решена в OS X 10.8 (Mountain Lion) GM Seed (сборка 12A269). Эта предварительная версия теперь доступна в Mac App Store для соответствующих участников Программы разработчиков Mac. Пожалуйста, проверьте с этим выпуском и обновите ваш отчет об ошибке с результатами.

Nohillside
источник
1
Попробуйте скопировать и вставить серый текст (или любой другой цвет, кроме чисто белого или черного). В этом случае «не будет работать» означает, что текст не может быть вставлен в диалог AppleScript.
Джоэлсеф
Я попробовал это с форматированным текстом из редактора AppleScript, из TextEdit и с нескольких веб-сайтов, и не столкнулся с какими-либо проблемами. Мы говорим о конкретном сайте здесь?
холме
1
Интересно. Похоже, что некоторые другие цвета работают, как синий цвет AppleScript для команд, но не для его зеленого цвета для переменных, или оттенков серого для ответов на этой странице (15% белого) и комментариев (20%), или слова " установить "или слово" Foo "в вашем сценарии. Если бы вы тоже могли это попробовать, возможно, мы увидим, действительно ли это ошибка или у нас просто что-то шокирующее происходит в наших системах. Теперь я нашел несколько других цветов, которые работают, но произвольная установка цветов в TextEdit почти всегда приводит к тому, что вставка не работает.
Джоэлсеф
Верно. Выбор только зеленого имени переменной в AppleScript Editor не работает, выделение всей строки делает. Я поднял идентификатор ошибки # 10175210 на bugreport.apple.com.
nohillside
1
Не исправлено с 10.7.2 :-(
nohillside
0

Это что-то вроде клочья, но я думаю, что это работает: скопируйте текст и вставьте его во что-нибудь, например Notational Velocity, BBEdit, TextEdit или другой текстовый процессор, который поддерживает текст без форматирования. Если вы установили NV для обычного текста, просто скопируйте его, и все готово. В BBEdit и TextEdit есть команды для удаления форматирования.

Тимоти Мюллер-Хардер
источник