팝업은 사용자가 여러 확장 프로그램 기능을 호출할 수 있는 창을 표시하는 작업입니다. 단축키를 사용하거나, 확장 프로그램의 작업 아이콘을 클릭하거나, browser.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()를 호출하여 팝업을 동적으로 만들 수도 있습니다.
browser.storage.local.get('signed_in', (data) => {
if (data.signed_in) {
browser.action.setPopup({popup: 'popup.html'});
} else {
browser.action.setPopup({popup: 'popup_sign_in.html'});
}
});