我已经创建了一个基于https://robots.thoughtbot.com/how-to-make-a-chrome-extension一个Chrome扩展不工作(看年底完成的文件)jQuery的关()在Chrome扩展
我做了两个改变。我使用JQuery 3.1.1最小化,而不是上面页面中给出的较旧的JQuery 3.1.1;我改变了content.js:
chrome.runtime.onMessage.addListener(
function(request, sender, sendResponse) {
if(request.message === "clicked_browser_action") {
$(document).off("touchmove mousewheel mousemove scroll");
}
}
);
当我点击打开带有一个适当的测试页扩展的按钮的$(document).off()命令无法正常工作。它没有给出错误,它只是没有做任何事情。
我查过了。如果我在想要影响的页面上输入$(document).off("touchmove mousewheel mousemove scroll");
到控制台,它工作正常。如果在扩展中运行,它不是。
我试着检查document
在扩展中是否正确,document.domain
在扩展中的断点(和页面中的控制台)中检查时给出了正确的结果。我试着检查jQuery._data(jQuery(document)[0]).events["touchmove"]
(和“mousewheel”,“mousemove”,“scroll”),它在控制台中工作,但如果我断点扩展名,我会得到一个错误(Cannot read property 'touchmove' of undefined
)。当我进一步检查,jQuery._data(jQuery(document)[0])
给出如下:
在控制台:
Object
events: Object
handle: function (e)
__proto__: Object
在断点:
Object
__proto__: Object
我已经尝试了一些其他的东西(例如,jQuery是访问和工作,等等)。
任何人都可以帮忙吗?
您是否试图关闭您在内容脚本中添加的事件侦听器,或者已经存在于页面脚本中的事件侦听器(即属于网页的一部分)?这听起来像你试图关闭的事件在页面脚本中。 – Makyen
我试图关闭页面脚本中已经存在的事件监听器(即,是网页的一部分)。 –