3

Я заметил, что когда я использую выбор файла на основе Flash, например, приведенный ниже, я не могу вставить CMD+V в диалог выбора местоположения файла.

Шаги по воспроизведению проблемы

Посетите любой диалог выбора файлов на основе Flash, такой как этот загрузчик:

http://developer.yahoo.com/yui/examples/uploader/uploader-simple-button.html

Нажмите выбрать файл

Нажмите CMD+Shift+G, чтобы открыть диалоговое окно "Перейти к папке"

Попробуйте вставить что-нибудь с помощью CMD+V. Ничего не произошло.

Щелкните правой кнопкой мыши внутри поля расположения файла и выберите «Вставить». Паста работает отлично.

Заметки

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

Мне любопытно узнать, есть ли какой-нибудь обходной путь, позволяющий мне использовать CMD+V с клавиатурой для вставки в такое диалоговое окно. Могу ли я изменить настройки безопасности флэш-памяти или что-то, чтобы включить это?

1 ответ1

3

Причина, по которой это не работает, заключается в том, что когда Flash открывает диалоговое окно файла, пункты меню « Правка» в Safari остаются отключенными даже при открытом листе « Перейти к папке» .

Меню «Правка» с диалогом Flash-файла. Перейти к папке.

Собственные диалоговые окна загрузки или других файлов ведут себя по-разному: когда лист виден, пункты меню включены.

Меню Правка с обычным диалогом загрузки. Перейти в папку


Чтобы воспроизвести это независимо от Safari, создайте новое основанное на документе приложение Какао в Xcode, сохраните и запустите. Нажмите Cmd-O , Cmd-Shift-G , Cmd-V . Это будет вставить. Выйдите, затем удалите пункты меню Edit из MainMenu.xib и повторите. Он не будет вставлен, как в диалоговом окне Flash в Safari.

Xcode MainMenu xib


Очень маловероятно , что это целенаправленная функция безопасности, так как Cmd-A также остается дезактивировать, не делает много смысла, с точки зрения безопасности.

Просто диалоговое окно Flash не использует и не включает обычные элементы меню Safari и, возможно, не может, поскольку само приложение предоставляет обратные вызовы для элементов меню. Это лишь одно из ограничений интеграции плагинов, с которыми нам приходится жить. FWIW, диалоги файлов Microsoft Silverlight ведут себя точно так же, см. Здесь.

В документации Adobe по API выбора файлов тоже ничего не говорится о разрешениях. ,

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .