我试图做一个chrome扩展,在特定时间后将要重复执行一个功能。流程如下,按button(popup.html)-> execute(popup.js)-> triggers(cont .js)->每3秒钟刷新一次页面。
popup.html
<!DOCTYPE html>
<html>
<body>
Event (or) movie name:<input type="text" name="inp" id="inp1"><br>
<button id="set">Set Reminder</button>
<script type="text/javascript" src="popup.js"></script>
</body>
</html>
popup.js
document.getElementById("set").addEventListener("click", function () {
chrome.tabs.query({ active: true, currentWindow: true }, function (tabs) {
chrome.tabs.executeScript(tabs[0].id, { file: 'cont.js' });
});
});
cont.js
setInterval(function () {
location.reload(true);
}, 3000);
页面重新加载仅发生一次,但根据setInterval()函数,它应每3秒进行一次。帮帮我。提前致谢。
答案 0 :(得分:0)
在Chrome扩展程序中,弹出脚本仅在弹出页面处于打开状态且处于活动状态时才执行。 cont.js
运行时,它将重新加载选项卡,并且弹出页面变为非活动状态,因为重新加载了选项卡,因此其中没有cont.js
脚本,并且由于弹出页面处于非活动状态,popup.js
脚本不会运行,因此不会再次注入cont.js
,并且该选项卡不会按预期的那样每3秒钟重新加载一次。为此,创建一个持久后台脚本,这种扩展脚本始终处于运行状态。这是tutorial的简单扩展,向您展示了如何使用后台脚本。