Я пытаюсь создать расширение Chrome, которое проверяет, содержит ли сайт определенный элемент, затем очищает куки для этого сайта и обновляет.
Я создал пример расширения для удаления файлов cookie, но в background.js, используя событие chrome.browserAction.onClicked.addListener
,:
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...
Я не могу использовать свой код для очистки куки, потому что я получил такие ошибки, как:
Cannot read property 'getSelected' of undefined
и подобные.
Спасибо за любую помощь;)