2012-01-25 169 views
2

我正在開發Chrome應用程序(作爲打包的應用程序/擴展程序),目的是作爲幾個全屏應用程序的基礎平臺構建於其上。 Chrome將在Ubuntu Linux上運行。以編程方式更改Chrome擴展程序更新頻率

到目前爲止沒有麻煩。但後來有人告訴我,一個預期的應用程序是要求源代碼在非常短的時間內更新的平臺,因爲它可能被部署在大規模使用之前系統已通過測試即使部署不完全穩定的軟件是一個糟糕的主意,但我們的時間表很緊張)。問題是,自動配置機制的「幾個小時」間隔不夠好。

所以我不知何故需要更新更新間隔。我知道這可以通過--extensions-update-frequency命令行開關來完成,但是由於應用程序無法訪問命令行(出於安全原因),我更傾向於預期的背景頁面是處理所有「管理」,我不願意「不要以爲開關可以使用。

是否有可能在更高的頻率更新?或者當它被命令時?

回答

3

現在有一個方法chrome.runtime.requestUpdateCheck()

請求該應用/擴展更新檢查。

它將返回一個狀態,它可以是「no_update」,「update_available」或「throttled」。

不幸的是,文檔沒有指定將觸發「節流」的頻率限制。

+0

我認爲這是更好的答案。儘管它沒有回答具體問題,但它可能是尋求的答案。 – RayfenWindspear

+0

我可以確認,當被調用時,如果有更新,擴展立即更新並重新啓動。否則,它將節約大約一小時的時間。 – RayfenWindspear

+0

我很抱歉沒有看到這更快。事實上,它確切地回答了我的問題,正如它的意思(對不起,如果我不清楚,我似乎總是做一個沙拉的東西) - 我現在選擇這個作爲接受的答案。謝謝! –

2

你最好的選擇是讓你的服務器手動檢查擴展版本。如果有更新的版本顯示用戶手動更新desktop notification


可能你可以編寫一個NPAPI plugin來修改更新頻率。


這可能會導致問題與CSP,但你可以嘗試從您的服務器在擴展執行現場負荷的JavaScript。在這種情況下,爲了「更新」你的擴展,你只需更新服務器上託管的JS,並且擴展會在下次加載時自動開始使用它。

+0

Ew,該死的..你確定這是唯一的方法嗎?由於用戶交互,除視覺,不是一個選項...但感謝您的答案:) –

+0

我已經添加了兩個選項。我不確定他們的生存能力,但他們是探索的選擇。 – abraham

+0

你太棒了,謝謝!我也考慮過使用NPAPI,但它將如何強制更新?你的意思是殺掉Chrome並使用'--extensions-update-frequency'參數或者什麼來重新啓動它? –

相關問題