Arc浏览器扩展开发:如何创建独立新窗口而非Little Arc?
解决Arc浏览器中Chrome扩展创建独立窗口而非Little Arc的问题
问题分析
你当前的代码在Chrome中生效,但在Arc里打开的是Little Arc而非独立窗口,核心原因是Arc对type: "popup"的窗口有特殊映射逻辑,会自动将这类弹窗窗口识别为Little Arc。要创建真正的独立窗口,需要调整chrome.windows.create的参数配置。
解决方案
修改代码中createData的配置,移除type: "popup"(或显式指定type: "normal"),同时确保窗口激活并正确关联目标标签:
import {getOption, setOption} from "./lib/option.js"; chrome.tabs.onCreated.addListener(function(tab){ if (tab.index == 0){ console.log('First Tab'); return; } const createData = { tabId: tab.id, focused: true, incognito: tab.incognito, setSelfAsOpener: true, // 显式指定为标准窗口类型,避免触发Little Arc type: "normal" }; chrome.windows.create(createData); });
关键调整说明
- 替换
type: "popup"为type: "normal":Arc会将popup类型窗口优先分配为Little Arc,改用标准窗口类型会创建独立的常规窗口。 - 保留
focused: true:确保新创建的窗口自动前置激活,满足你"打开新窗口并激活对应标签"的需求。 - 保留隐私与关联参数:
incognito和setSelfAsOpener维持原有的隐私规则与 opener 关联逻辑,适配Arc的窗口权限机制。
Arc额外注意事项
Arc的窗口管理会显示当前空间的所有标签,因此只要新窗口成功创建并关联目标标签,Arc会自动在新窗口中展示该标签,无需额外处理标签的空间归属。
内容的提问来源于stack exchange,提问作者user2555825
相关产品推荐
相关产品推荐

