到目前为止,我的Chrome扩展程序运行正常。安装或启动扩展程序时,它需要加载一些设置。所以我一直在后台页面中使用它:
chrome.runtime.onInstalled.addListener(loadSettings);
chrome.runtime.onStartup.addListener(loadSettings);
基本上,它运行loadSettings()函数以初始化扩展名。
我刚刚遇到了意外情况,经过一些研究,我找不到答案。似乎当扩展名被关闭时,后台页面的已加载设置和变量已被卸载。您如何知道Chrome扩展程序页面中的扩展程序是否已打开和关闭? (位于chrome:// extensions /)
禁用扩展时,后台脚本应停止执行,扩展页面将关闭,内容脚本无法访问与后台脚本的通信。
在您的内容脚本中,您甚至可以收听断开连接的声音:
chrome.runtime.connect().onDisconnect.addListener(() => {
console.log('disconnected');
location.reload();
});