pageAction.setPopup()

设置当用户点击页面操作图标时打开的弹窗的 HTML 文档。

语法

js
browser.pageAction.setPopup(
  details // 对象
)

参数

details

object

tabId

integer。要设置弹窗的标签页 ID。

stringnull。指向要在弹窗中显示的 HTML 页面的 URL。

如果传入了一个空字符串(""),则弹窗将被禁用且扩展将收到 pageAction.onClicked 事件。

如果传入了 null,则弹窗将重置为在 page_action 清单键中指定的弹窗。

浏览器兼容性

BCD tables only load in the browser

示例

监听 tabs.onUpdated 事件,根据加载状态切换弹窗:

js
browser.tabs.onUpdated.addListener((tabId, changeInfo, tabInfo) => {
  if (changeInfo.status) {
    browser.pageAction.show(tabId);
    if (changeInfo.status === "loading") {
      browser.pageAction.setPopup({
        tabId,
        popup: "/popup/loading.html",
      });
    } else {
      browser.pageAction.setPopup({
        tabId,
        popup: "/popup/complete.html",
      });
    }
  }
});

备注: 该 API 基于 Chromium 的 chrome.pageAction API。本文衍生自 Chromium 代码中的 page_action.json