您好我是firefox插件和js的新手,并且没有具体的工作原理。我试图通过键盘或上下文菜单捕获任何用户启动的复制事件。 当我阅读一些帖子(How to capture copy events on arbitrary web pages in Javascript?)时,我知道有一个复制事件需要根据我的要求进行捕获和处理。我无法弄清楚如何捕获此事件。特别是与事件有关的是什么。 在类似的说明中,我尝试使用用户选择 https://developer.mozilla.org/en-US/Add-ons/SDK/Tutorials/Add_a_Context_Menu_Item和 https://developer.mozilla.org/en-US/Add-ons/SDK/High-Level_APIs/selection 虽然这对我来说很好,但我对我应该使用的API感到困惑。
我试图通过EventListener
在gBrowser
上添加gBrowser.addEventListener("copy", function(){console.log("copy event");}, true);
,但错误地说gBrowser not defined
我也尝试使用window.addEventListener("copy",function(){console.log("copy event");}, true);
,它也返回了未定义的窗口。我猜我在一些导入或初始化时遗失了。这方面的任何链接都会有所帮助。
答案 0 :(得分:1)
好的,这段代码可以运行,从暂存器运行。
打开暂存器:Shift + F4
粘贴此代码:
function cevent(e) {
console.log('copied, e:', e);
}
gBrowser.addEventListener('copy', cevent, false)
点击便签簿中名为" Environment"的菜单项。然后单击"浏览器"。
然后点击"运行"
然后在您使用的最新浏览器中复制一些内容,此代码将此事件侦听器添加到最近的窗口。
您将在浏览器控制台中看到偶数登录:
你可以看到有粘贴和剪切以及其他事件:https://developer.mozilla.org/en-US/docs/Web/API/HTMLElement.onpaste?redirectlocale=en-US&redirectslug=DOM%2Felement.onpaste