我已經創建了一個基於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
我試圖關閉頁面腳本中已經存在的事件監聽器(即,是網頁的一部分)。 –