2016-08-14 62 views
0

我正在構建谷歌瀏覽器擴展程序,我有一個關於何時使用活動頁面的問題。谷歌瀏覽器擴展程序:後臺頁面或活動頁面?

快速瀏覽Chrome extension docs表明,如果可能的話,Google真的希望開發人員使用活動頁面。

我的擴展程序當前使用的是後臺頁面,但我想知道是否應該切換到活動頁面?

這是我的擴展做什麼:

  • 當與特定網站相匹配,它注入一個腳本,將按鈕的用戶訪問額外的功能。
  • 這些額外的功能大部分都是對用戶輸入的數據進行相當昂貴的計算操作 - 這些都是在後臺頁面中完成的(它全部都是這樣做的)。
  • 當用戶想要對他們的數據運行這些操作時,他們按下一個按鈕,這會將一條消息從注入的腳本傳遞到背景頁面,然後將包含操作結果的消息傳回。

本質上講,所有的背景頁正在做的是等待消息從一個特定網站的注入腳本傳遞,然後運行一些操作。由於它不需要始終處於活動狀態,這表明我應該使用活動頁面。

任何人都可以確認這對我來說是個好主意嗎?或者有理由爲什麼我應該堅持一個背景頁面?

+0

避免使用持久背景頁面。 –

+0

http://stackoverflow.com/questions/23935117/event-pages-and-background-pages –

回答

1

允許後臺頁面掛起(chrome.runtime.onSusend)非常好,因爲它會釋放系統資源。當匹配事件發生時,頁面將自動啓動(chrome.tab.onUpdated等)。我想不出任何令人信服的理由來使用持久背景頁面。您始終可以將任何長期狀態存儲在chrome.storage.local或indexedDb等中。

+2

使用持久背景頁面的唯一原因是,如果您使用的API不起作用,例如, chrome.webRequest或chrome.webNavigation等。 – wOxxOm

相關問題