Ctrl + C не работает во Flash Player (SWF-файл), когда браузер Google Chrome - PullRequest
0 голосов
/ 12 января 2011

У меня есть проект, разработанный в Flex3,

<<Site Link Removed now>>

Вы можете проверить это здесь, проблема, с которой я сталкиваюсь, копирование (Ctrl + C) содержимое экрана texttarea, когда SWF-файл работает в браузере Chrome.

Предположим, мне нужно добавить какой-то текст на сцену, поэтому текстовую область, открывающуюся слева, я не могу скопироватьтекст, написанный в текстовой области, хотя щелкнув правой кнопкой мыши в текстовой области и выбрав опцию копирования, это работает, но мой клиент попросил скопировать содержимое с помощью Ctrl + c, хотя он отлично работает с другими браузерами,

только chrome не поддерживает копирование (Ctrl + c), хотя выбор всех (Ctrl + A) работает

, так что это то, что я должен обсудить, может кто-то тоже имеет такое жепроблема,

Спасибо всем заранее,

Анкур Шарма

Ответы [ 2 ]

2 голосов
/ 12 января 2011

Используйте KeyboardEvent.KEY_DOWN, чтобы обнаружить нажатие клавиши "C".Затем проверьте наличие ctrlKey, чтобы проверить, не выключено ли оно, и используйте System.setClipboard(source.text); для установки содержимого буфера обмена.

textArea.addEventListener (KeyboardEvent.KEY_DOWN, onKeyDown);

private function onKeyDown ( ev : KeyboardEvent ) : void 
{
    if (ev.keyCode != 67 || !ev.ctrlKey) return;
    var text:String = textArea.text;
    System.setClipboard( text);
}

Осторожно, хотя: иногда могут происходить странные вещи одновременно, например исчезновение текстового содержимогонапример.Возможно, вам придется обойти это!

1 голос
/ 12 января 2011

Это делает не только Chrome, Safari и некоторые другие браузеры делают это тоже.

Лучше всего использовать библиотеку JavaScript, чтобы перехватывать эти события клавиатуры и затем передавать их в приложение Flex.

Для связи между ними: http://help.adobe.com/en_US/FlashPlatform/reference/actionscript/3/flash/external/ExternalInterface.html

Как обнаружить сочетания клавиш в JavaScript (протестировали Ctrl + 1 в Chrome в Windows XP: http://www.openjs.com/scripts/events/keyboard_shortcuts/

...