2014年11月9日 星期日

Chrome Extension 開發入門篇 08 - Chrome Extension 後台頁面

通常 Chrome Extension 需要一個長時間運行的腳本來管理狀態,那後台頁面就是因此而設立的。
當啟用 Extension 時,就會在背景產生一個後台頁面,直到 Extension 被停用或是 Chrome Browser 被終止才會結束。而一個 Extension 只會有一個後台頁面(例外情況:無痕模式下會自己產生一個後台頁面),可從擴充功能管理頁進入後台頁面。如圖 1 所示。
background_page.png圖1. 後台頁面

建立後台頁面

方法一. 在設定檔直接定義後台頁面的 javascript。
manifest.json
{
  ...
  "background": 
  {
    "scripts": ["background_1.js", "background_2.js"]
  },
  ...
}
方法二. 在設定檔定義為 html,再從 html 讀取 javascript。
manifest.json
{
  ...
  "background": 
  {
    "page": "background.html"
  },
  ...
}
background.html
<html>
  <head>
    <script type="text/javascript" src="background_1.js"></script>
    <script type="text/javascript" src="background_2.js"></script>
  </head>
  <body>
  ...
  </body>
</html>

與後台頁面通訊

彈出頁面、選項頁面和後台頁面各自擁有自己的 javascript 執行環境,彼此之間是隔離的,如果需要傳遞資料的話可以使用 extension.getViews 和 extension.getBackgroundPage 的 API 來獲取 Window 物件。
溫馨小提醒:官方建議將後台頁面改為事件頁面,但個人建議初學者先從後台頁面做起,在逐漸轉為事件頁面。

結語:

後台頁面與事件頁面差不多,開發時記得優先考慮使用事件頁面(初學者除外)。如果您有問題,歡迎在下方留言。謝謝!

沒有留言:

張貼留言