我正在尝试创建Chrome扩展程序,以检查网站是否包含特定元素,然后清除该网站的Cookie并刷新。
我创建了示例扩展程序来删除Cookie,但使用事件chrome.browserAction.onClicked.addListener
在background.js中:
chrome.browserAction.onClicked.addListener(function(tab) {
var url = tab.url;
var matches = url.match(/^https?\:\/\/([^\/?#]+)(?:[\/?#]|$)/i);
var d = matches && matches[1].replace('www.','');
d = '.'+d;
chrome.cookies.getAll({domain: d}, function (cookies) {
for (var i=0; i<cookies.length; i++) {
var url = "http" + (cookies[i].secure ? "s" : "") + "://" + cookies[i].domain + cookies[i].path;
var cname = cookies[i].name;
chrome.cookies.remove({
"url": url,
"name": cname
});
}
chrome.tabs.reload();
});
});
我从stackoverflow上的一篇帖子中获取了这段代码,并且我正在尝试根据需要对其进行转换。
在background.js的主要扩展中,我有:
chrome.tabs.onUpdated.addListener(function(tabId, changeInfo, tab) {
chrome.tabs.getSelected(null, function(tab){
chrome.tabs.executeScript(null, {file: 'script.js'});
});
});
,然后在script.js中:
..some code...
var test = document.getElementById('u_0_c');
if (test === null || test.innerText == "") {
/*------------------------------*/
HERE I WANT TO CLEAR COOKIES
/*----------------------------*/
}
..some code...
我无法在此处使用代码清除Cookie,因为出现以下错误:
Cannot read property 'getSelected' of undefined
和类似物。
感谢您的帮助;)