通常,浏览器会每隔几个小时检查一次扩展程序更新,您可以通过单击"立即更新扩展程序来手动覆盖此更新。按钮。我想让它无缝化,并让我的扩展能够更新可用的时刻。通过Ajax,它检查值得服务器,并知道有可用的更新。我想让它们告诉浏览器更新它。这可能吗?
这是外部托管的打包扩展程序:http://developer.chrome.com/dev/extensions/hosting.html
更新:这是正常工作的代码!
的index.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();
});
答案 0 :(得分:2)
您是否尝试过使用chrome.runtime.requestUpdateCheck()
?你的代码可能是这样的:
chrome.runtime.requestUpdateCheck(function(status,details){});
chrome.runtime.onUpdateAvailable(function(details){
console.log('Updating to version: ' + details.version);
chrome.runtime.reload();
});