2015-03-04 6 views
16

Мне нужно программно создать экземпляр ClipboardEvent в Chrome.Возможно ли создать экземпляр ClipboardEvent в Chrome?

Но когда я бегу конструктор:

new ClipboardEvent("paste", {dataType: "text/plain", data: "some data"}) 

Он выдает следующее сообщение об ошибке:

Uncaught TypeError: Illegal constructor 

Конструктор работает как задумано в Firefox.

Проверено MDN и W3C spec и они ничего не говорят о том, что это незаконно для создания экземпляров ClipboardEvent.

Возможно ли создать экземпляр ClipboardEvent в Chrome любым другим способом? Я предпочитаю не издеваться над пользовательским ClipboardEvent, если он существует.

+1

В настоящее время я использую обходной путь, где я создаю CustomEvent и добавляю функцию evt.clipboardData.getData(). –

+0

Как вы определили ClipboardEvent в первую очередь? –

+0

В последней версии Chrome и Firefox на Mac OS X теперь стало видно, что это не Windows. Полагаю, что рано использовать его. –

ответ

13

К сожалению, это не так. Это из http://caniuse.com/#feat=clipboard

Partial support in IE refers using a non-standard method of interacting with the clipboard. For other browsers it refers to not supporting the ClipboardEvent constructor.

enter image description here

К сожалению, единственный браузер, который должным образом поддерживает Clipboard API является FireFox (с 22). Все остальные браузеры (если он вообще поддерживает API буфера обмена) не будут поддерживать конструктор ClipbordEvent.

+2

Когда я смотрю там сегодня, Firefox имеет частичную поддержку, и Chrome, возможно, имеет полную поддержку с 42 года. Думаю, это подвижный праздник. Но я использую 42, и я все еще не могу создать событие в буфере обмена! – harmic

+0

Все еще получая это тоже, что странно, кто-нибудь знает, если это то, что требует разрешения? –

+0

Понял, что «Chrome 42+ и Opera 29+ поддерживают чтение/запись буфера обмена только в том случае, если часть действия пользователя (щелчок, keydown и т. Д.)» В соответствии с caniuse –

Смежные вопросы