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

Firefox扩展开发求助:chrome.extension报Expected an object as the target scope错误

Firefox WebExtensions 报错排查:Expected an object as the target scope

嘿,我来帮你捋捋这个突然冒出来的WebExtensions报错问题!

先把你的问题细节理清楚:

两天前程序运行完全正常,今天在Firefox Developer Edition 60.0b2(64bit)里,弹窗页面的JavaScript代码触发了如下错误:

===== Error: Expected an object as the target scope Schemas.jsm:2641:15 let obj = Cu.createObjectIn(context.cloneScope); =====

报错触发的场景很有意思:

  • 如果代码里先写 chrome.extension; 再写 chrome;,完全没错误
  • 但单独写 chrome.extension; 就会抛出上面的错误

可能的原因和解决办法:

  • Firefox Beta版本的兼容性bug:你用的是Firefox 60.0b2,属于开发者预览版,本身可能存在WebExtensions API的稳定性问题。建议先升级到最新的Firefox Developer Edition版本,或者临时切换到Firefox稳定版测试,看看是不是版本本身的bug导致的。
  • 页面初始化时机问题:弹窗页面的JavaScript如果在DOM还没完全加载完成时就访问chrome.extension,可能会导致API的上下文环境没有正确建立,context.cloneScope变成无效值。你可以把相关代码放到DOMContentLoaded事件监听里,确保页面初始化完成后再调用API:
    document.addEventListener('DOMContentLoaded', () => {
      // 在这里访问 chrome.extension 或者 browser.extension
      console.log(chrome.extension);
    });
    
  • 改用标准WebExtensions API:Firefox对browser命名空间的支持比兼容层的chrome更完善,你可以尝试把chrome.extension替换成browser.extension,看看能不能绕过这个兼容层的问题。
  • 排除外部干扰:临时禁用浏览器里的其他扩展,或者重置Firefox的开发者相关设置,排除其他扩展或者自定义设置对当前程序的影响。

内容的提问来源于stack exchange,提问作者二川村田

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.20 09:04:08