彈出式視窗是一種動作,可顯示視窗,讓使用者叫用多個擴充功能。您可以透過鍵盤快速鍵、點選擴充功能的動作圖示,或呼叫 chrome.action.openPopup()
觸發這個動作。當使用者將焦點放在彈出式視窗以外的瀏覽器區域時,彈出式視窗就會自動關閉。使用者點選關閉後,無法讓彈出式視窗保持開啟狀態。
下圖擷取自喝水事件範例,顯示彈出式視窗,其中列出可用的計時器選項。使用者只要按一下其中一個按鈕,即可設定鬧鐘。
在資訊清單的 "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'});
}
});