所以我试图创建两个按钮。一个是间隔刷新网站,第二个应该在按下后停止,但停止按钮不起作用。第二件事是,如果我按下开始按钮,它不会像我想的那样保存在本地存储中。你们能帮我一下吗?
window.onload = function () {
if (localStorage.getItem("refresh")) {
startref()
}
};
function startref() {
let intervalId = setInterval(function () {
chrome.tabs.query({ active: true, currentWindow: true }, function (arrayOfTabs) {
var code = 'window.location.reload();';
chrome.tabs.executeScript(arrayOfTabs[0].id, { code: code });
});
}, 1000);
localStorage.setItem('refresh');
}
function stop() {
clearInterval(intervalId);
}
document.addEventListener('DOMContentLoaded', function () {
document.getElementById("startbtn").addEventListener('click', startref);
});
document.addEventListener('DOMContentLoaded', function () {
document.getElementById("stopbtn").addEventListener('click', stop);
});
localStorage.setItem
函数接受两个参数。一个是key,另一个是key的值。
改变这一行
localStorage.setItem('refresh');
到
localStorage.setItem('refresh',intervalId);
当您清除间隔时,首先获得存储在localStorage中的intervalId
,然后调用clearInterval
。
function stop() {
const intervalId = localStorage.getItem("refresh");
clearInterval(intervalId);
}