browserSettings.allowPopupsForUserEvents

一个 BrowserSetting 对象,可用于启用或禁用网页响应用户操作打开弹出窗口的功能。

底层值为布尔值。

默认情况下,浏览器允许网页响应特定事件集打开弹出窗口:例如,clickmouseupsubmit。如果 allowPopupsForUserEvents 设置为 false,则任何用户事件都无法打开弹出窗口。如果设置为 true,则默认事件集将被允许打开弹出窗口。

例如,假设一个网页有如下代码

js
window.addEventListener("click", (e) => {
  window.open("https://example.com", "myPopup", "height=400,width=400");
});

默认情况下,这将打开一个弹出窗口。如果您的扩展将 allowPopupsForUserEvents 设置为 false,则它将不会打开弹出窗口,并且用户会收到弹出窗口被阻止的通知。

浏览器兼容性

BCD 表格仅在启用了 JavaScript 的浏览器中加载。

示例

切换设置

js
function toggleAllowPopup() {
  function toggle(current) {
    console.log(`Current value: ${current.value}`);
    browser.browserSettings.allowPopupsForUserEvents.set({
      value: !current.value,
    });
  }

  browser.browserSettings.allowPopupsForUserEvents.get({}).then(toggle);
}

browser.browserAction.onClicked.addListener(() => {
  toggleAllowPopup();
});