HTML中如何实现点击链接打开Firefox原生新标签页而非新标签打开链接
Firefox打开原生新标签页的解决方案
问题根因
Firefox及所有主流浏览器都有Web页面安全沙箱限制,禁止普通公网页面直接访问about:开头的浏览器内部私有协议地址,因此你尝试的about:newtab、about:home跳转都会被浏览器直接拦截,只有about:blank属于允许公开访问的空白地址,所以才能正常跳转,这不是代码写法的问题,是浏览器的底层权限设计导致的。
可行方案
根据使用场景的不同,有以下可选路径:
- 如果你开发的是Firefox扩展/插件页面
可以在扩展的manifest.json配置文件中申请标签页操作权限,调用Firefox官方扩展API即可直接打开原生新标签页,效果和用户手动点击新建标签按钮完全一致:browser.tabs.create({ url: "about:newtab" }) - 如果你开发的是本地自用页面/油猴脚本
可以给油猴脚本授予标签页操作权限,或搭配浏览器远程调试接口实现打开原生新标签页,可根据你使用的工具版本调整对应参数即可。 - 如果你开发的是对外服务的公网普通Web页面
没有兼容普通用户的实现方案,这个是浏览器的通用安全规则,所有主流浏览器都不支持普通网页直接调用原生新标签页,避免恶意网站滥用功能干扰用户正常浏览。
内容的提问来源于stack exchange,提问作者MonoWolfChrome
相关产品推荐
相关产品推荐

