我是chrome扩展程序的新用户。每当安装或更新扩展程序时,我都会使用chrome.runtime.onInstalled加载html页面。但是当我在chrome中测试它时,无论何时我选中/取消选中允许隐藏相同的html页面加载每次。如何避免这种行为?我用"隐姓埋名":"分裂"在清单中。
答案 0 :(得分:1)
我希望您发布代码,以便我可以尝试复制问题并提供具体的解决方案,但简单的解决方案是在欢迎时使用chrome storage API保存扩展程序的版本。
打开html并将其与下次安装时的当前版本进行比较。如果存储的版本相同,请不要打开它。如果它未定义或更旧,请将其打开。
从chrome.extension.getURL(" manifest.json")
中提取扩展程序的版本修改强> 经过一段谷歌搜索后,您似乎可以更直接地访问清单。使用以下代码获取版本号。
var version = chrome.runtime.getManifest().version;
修改强> 当您更新时,似乎在回调中提供了以前的版本,因此您不需要存储任何内容。可以使用chrome.runtime.getManifest()。version
将提供的对象与当前版本进行比较这样的事情:
chrome.runtime.onInstalled.addListener(function (details) {
if(details.reason === "install"){
chrome.tabs.create({url: "welcome.html"});
}
else if(details.reason === "update"){
var currentVersion = chrome.runtime.getManifest().version;
var previousVersion = details.previousVersion;
if(previousVersion !== currentVersion){
chrome.tabs.create({url: "welcome.html"});
}
}
});
答案 1 :(得分:0)
我认为你不能。我假设当您取消选中"允许隐身"时,Chrome会核实(拆分)隐身实例的本地状态。