ОБНОВЛЕНИЕ:
Я изменил свое расширение, пытаясь следовать ценной информации wOxxOm, но оно все равно не работает.
Теперь у меня есть background. js script:
chrome.runtime.onMessage.addListener(function(message, callback){
if(message === 'start') {
var timer;
timer = setInterval(function(){chrome.tabs.reload; chrome.tabs.executeScript({ file: 'code.js'});}, 7000);
} else if(message === 'stop') {
clearInterval(timer);
}
});
Я изменил app. js следующим образом:
chrome.tabs.query({active: true, currentWindow: true}, function(tabs) {
document.querySelector('.button-run').addEventListener('click', () => {
var activeTab = tabs[0];
chrome.tabs.sendMessage(activeTab.id, {"message": 'start'});
});
});
chrome.tabs.query({active: true, currentWindow: true}, function(tab) {
document.querySelector('.button-stop').addEventListener('click', () => {
var activeTab = tabs[0];
chrome.tabs.sendMessage(activeTab.id, {"message": 'stop'});
});
});
Измененный и упрощенный контент сценарий, код. js для проверки новой настройки:
function findText() {
if (document.body.innerHTML.search("Text") != -1) {
alert("Text found");
// potentially perform other actions
}
}
(я думаю, что если и когда все будет работать, как положено, я должен включить chrome.tabs.sendMessage(activeTab.id, {"message": 'stop'})
в код. js когда "Текст" найден.)
манифест. json:
{
"manifest_version": 2,
"name": "Find Text",
"version": "0.1",
"externally_connectable": {
"matches": ["http://www.example.com"]
},
"permissions": [ "activeTab", "storage", "browsingData", "notifications", "http://*/", "https://*/"],
"background": {
"scripts": ["background.js"],
"persistent": false
},
"browser_action": {
"default_popup": "popup.html",
"default_title": "Find Text"
}
}
Теперь, когда я нажимаю " Кнопка «Выполнить» на моем пользовательском интерфейсе www.example.com перезагружается каждые 7 секунд, и она перестает загружаться, когда я нажимаю кнопку «Стоп» на своем пользовательском интерфейсе. Однако функция findText () в коде. js, похоже, не работает: когда на странице отображается «Текст», ничего не происходит.
Кроме того, проблема № 2, описанная выше, остается: если я нажмите кнопку «Стоп» в моем пользовательском интерфейсе, автоматическое восстановление sh останавливается, но когда я открываю другую вкладку на Chrome и go до www.example.com, страница продолжает перезагружаться, как будто автоматическое восстановление sh никогда не останавливалось .
Я на 100% уверен, что допустил здесь более одной ошибки, но не могу их обнаружить.