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

Firefox访问about:addons时webNavigation.onBeforeNavigate监听器触发两次求解

这是Firefox内置about:系列特权页面的特殊加载逻辑导致的,和你的扩展代码没有关联,具体原因如下:

  • 第一次触发webNavigation.onBeforeNavigate是你输入地址发起导航后,Firefox先触发了顶层文档(frameId=0)的初始化导航请求,用来分配页面对应的进程、权限上下文,准备加载内置页面的基础容器。
  • 第二次触发相同参数的事件,是因为Firefox的about:addons这类内置页面本质是打包在浏览器安装包内的特权前端页面,基础容器初始化完成后,浏览器会发起第二次同URL的顶层导航,用来加载实际的页面逻辑、渲染内容,两次导航的标签、窗口、帧参数完全一致,仅时间戳存在差异。

普通公开网页没有这种内置特权页面的二次容器初始化逻辑,所以只会触发一次onBeforeNavigate事件。

如果你需要避免重复触发,可以在监听器里加简单的去重逻辑:同一个tabId+frameId+url组合在500ms内的重复事件直接过滤即可。

内容的提问来源于stack exchange,提问作者Manu8170

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 00:06:01