Я пытаюсь разработать расширение chrome, но при попытке добавить EventListener в действие копирования он не работает (хотя поддерживается браузером, потому что он работает над скрипка).JS - Chrome Extension - addEventListener ('copy') не работает
вот мои разные файлы.
manifest.json
{
"manifest_version": 2,
"name": "Bla",
"description": "bla",
"version": "1.0",
"browser_action": {
"default_icon": "camera.png",
"default_title": "bla"
},
"background": {
"page": "background.html"
},
"content_scripts" : [
{
"matches": ["http://*/*", "https://*/*"],
"js": ["oncopy.js"]
}
],
"permissions": [
"activeTab",
"https://ajax.googleapis.com/",
"clipboardRead",
"clipboardWrite"
]
}
oncopy.js
document.addEventListener("copy", function() {
alert('copied')
}, true);
Предупреждение никогда не выскочит.
Я также пробовал с аналогичным кодом в файле background.js, вызванном background.html, но не работал ни ... Любые идеи?
Spec [говорит] (https://developer.mozilla.org/en-US/docs/Web/Events/copy) цель должна быть либо сам элемент или 'документ .body', а не только 'document'. – wOxxOm
Пример в spec также с document.addEventListener: document.addEventListener ('copy', function (e) { e.clipboardData.setData ('text/plain', 'Hello, world!'); e.clipboardData. setData ('text/html', 'Hello, world!'); e.preventDefault(); // Мы хотим, чтобы наши данные, а не данные из любого выбора, были записаны в буфер обмена }); – Ivo
Да, это работает на документе в Chrome, поэтому MDN там некорректен. Вы видите какие-либо ошибки в консоли? – wOxxOm