我已经编写了一个镀铬扩展程序,可以在具有倒计时的页面上运行。倒计时结束后,网站会运行一些xhr请求来更新页面。
当从xhr请求更新页面时,我的扩展程序停止工作。
我首先尝试在内容脚本上设置超时,但这不起作用。
然后我尝试让它在后台页面等待,直到倒计时完成,然后将postMessage请求发送回内容脚本,但这也不起作用。
页面刷新时是否有其他方法可以使内容脚本保持活动状态?
我很抱歉我不能更具体和提供代码,但该项目是针对一家公司,目前不希望细节传递。
非常感谢任何帮助。
我无法获得发布实际代码的授权,但以下是我如何将消息从背景传递到内容:
content.js
var port = chrome.extension.connect({ name: "Background Sniper" });
port.onMessage.addListener(function (msg) {
//code goes here to test the msg
}
background.js
var port = chrome.extension.onConnect.addListener(function (port) {
port.onMessage.addListener(function (msg) {
//code goes here
}
网页告诉我倒计时结束的纪元时间,所以在background.js我设置:
function(countdownEndTime){
setTimeout(function(){
port.postMessgae("GO")
}, new Date().getTime - countdownEndTime)
但由于某种原因,content.js从未收到" GO"消息。