通常,浏览器每隔几个小时检查一次扩展更新,您可以通过单击“立即更新扩展”按钮手动覆盖它。我想做到这一点,并让我的扩展能够在可用的那一刻进行更新。通过 Ajax,它检查服务器的价值并知道有可用的更新。我想让他们告诉浏览器更新它。这可能吗?
这是一个在外部托管的打包扩展:http: //developer.chrome.com/dev/extensions/hosting.html
更新:这是工作代码!
索引.html
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<title>Hello World</title>
<link href="styles/main.css" rel="stylesheet">
<script src="test.js"></script>
</head>
<body>
<h1>Hello, World 2 again 17!</h1>
</body>
</html>
test.js(监听文档点击并告诉后台更新的内容脚本)
window.onload = function()
{
document.body.onclick = function()
{
chrome.runtime.requestUpdateCheck(function(status) {
if (status == "update_available") {
console.log("update pending...");
} else if (status == "no_update") {
console.log("no update found");
} else if (status == "throttled") {
console.log("Oops, I'm asking too frequently - I need to back off.");
}
});
}
}
main.js(后台脚本)
//You need to put reload in this callback
chrome.runtime.onUpdateAvailable.addListener(function(details) {
console.log("updating to version " + details.version);
chrome.runtime.reload();
});