You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Chrome扩展全屏状态下如何限制window.open弹出窗口尺寸?

解决Chrome扩展全屏状态下弹出指定尺寸窗口的问题

MacOS下Chrome的全屏模式属于独占式状态,默认的window.open或未指定类型的chrome.windows.create会继承父窗口的全屏属性,导致弹窗变成全屏跳转。以下是针对性的解决方案:

核心方案:使用Chrome扩展原生API并指定弹窗类型

改用chrome.windows.create,并明确设置type: "popup",这会强制创建独立的非全屏弹窗,不受父窗口全屏状态影响。

修改后的代码

$(".paypal-login").on("click", () => {
  chrome.windows.create({
    url: 'https://www.paypal.com/signin?country.x=NL&locale.x=nl_NL',
    type: 'popup',
    width: 320,
    height: 320,
    left: 0, // 可选,按需调整弹窗位置
    top: 0   // 可选
  });
});

扩展权限配置

确保在manifest.json中声明tabs权限(Chrome扩展调用窗口API必需):

{
  "manifest_version": 3, // 适配你的扩展版本,v2也可
  "permissions": ["tabs"],
  // 其他扩展配置项...
}

额外注意事项

  • 避免使用window.open:该方法在全屏父窗口下的行为受浏览器默认规则限制,无法强制弹窗尺寸
  • 可选添加state: "normal":如果仍有异常,可在chrome.windows.create的参数中加入state: "normal",明确指定窗口为普通状态
  • 验证权限:确保扩展已正确加载且权限生效,可在Chrome扩展管理页面查看权限状态

内容的提问来源于stack exchange,提问作者maurijn.vd

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.11 16:10:28