新增彈出式視窗

彈出式視窗是指會顯示視窗的動作,讓使用者叫用多項擴充功能功能。按下鍵盤快速鍵或點選擴充功能的動作圖示時,就會觸發這個動作。當使用者聚焦於瀏覽器的某些部分,而彈出式視窗不在彈出式視窗中,彈出式視窗會自動關閉。使用者點選後,無法讓彈出式視窗保持開啟。

下方圖片取自「飲水量事件」範例,其中顯示了可用的計時器選項。使用者按一下其中一個按鈕來設定鬧鐘。

彈出式視窗範例。
彈出式視窗示例。

在資訊清單中的 "action" 鍵下方註冊彈出式視窗。

{
 "name": "Drink Water Event",
 ...
 "action": {
   "default_popup": "popup.html"
 }
 ...
}

使用彈出式視窗,方法與建立其他網頁一樣。請注意,彈出式視窗中使用的 JavaScript 都必須位於個別檔案中。

<html>
 <head>
   <title>Water Popup</title>
 </head>
 <body>
     <img src="./stay_hydrated.png" id="hydrateImage">
     <button id="sampleSecond" value="0.1">Sample Second</button>
     <button id="min15" value="15">15 Minutes</button>
     <button id="min30" value="30">30 Minutes</button>
     <button id="cancelAlarm">Cancel Alarm</button>
   <script src="popup.js"></script>
 </body>
</html>

你也可以呼叫 action.setPopup(),以動態方式建立彈出式視窗。

chrome.storage.local.get('signed_in', (data) => {
  if (data.signed_in) {
    chrome.action.setPopup({popup: 'popup.html'});
  } else {
    chrome.action.setPopup({popup: 'popup_sign_in.html'});
  }
});