[好讀版]
通常 Chrome Extension 需要一個長時間運行的腳本來管理狀態,那後台頁面就是因此而設立的。
當啟用 Extension 時,就會在背景產生一個後台頁面,直到 Extension 被停用或是 Chrome Browser 被終止才會結束。而一個 Extension 只會有一個後台頁面(例外情況:無痕模式下會自己產生一個後台頁面),可從擴充功能管理頁進入後台頁面。如圖 1 所示。
圖1. 後台頁面
建立後台頁面
方法一. 在設定檔直接定義後台頁面的 javascript。
manifest.json
{
...
"background":
{
"scripts": ["background_1.js", "background_2.js"]
},
...
}
方法二. 在設定檔定義為 html,再從 html 讀取 javascript。
manifest.json
{
...
"background":
{
"page": "background.html"
},
...
}
background.html
<script type="text/javascript" src="background_1.js"></script>
<script type="text/javascript" src="background_2.js"></script>
...
與後台頁面通訊
彈出頁面、選項頁面和後台頁面各自擁有自己的 javascript 執行環境,彼此之間是隔離的,如果需要傳遞資料的話可以使用 extension.getViews 和 extension.getBackgroundPage 的 API 來獲取 Window 物件。
**溫馨小提醒:**官方建議將後台頁面改為事件頁面,但個人建議初學者先從後台頁面做起,在逐漸轉為事件頁面。