为什么我会收到此错误 chrome-extension://invalid

Why am I getting this error chrome-extension://invalid

我在访问 Chrome 中的 Chromecast 扩展时遇到了一个奇怪的问题。

我制作了一个网页,当用户按下连接时,它会调用 Cast Api 并打开对话框以连接到 Chromecast。

在某些电脑上它不起作用,出现的错误是:

chrome-extension://invalid Failed to load resource: net::ERR_FAILED

错误仅发生在非管理员帐户的 Windows 中。

我还以为是代理,或者公司网络防火墙,结果不是我们没有代理测试就报错了

如果该帐户是 Windows 管理员,则它有效!

我的猜测是 Chrome 或 Windows 阻止了对扩展的访问,因为 javascript 调用了 cast.js 和 cast.js呼叫分机(可能是 CORS)。

我的网站有 https。我在 Internet 选项中设置为受信任的站点。 在旧的 Chromes 中,错误是不同的:

GET chrome-extension://pkedcjkdefgpdelpbcmbmeomcjbeemfm/cast_sender.js net::ERR_FAILED

有谁知道如何修复它(chrome-extension://invalid)?

我发现发生了什么。 公司网络受其代理保护。

我们监控了通话并发现: 转换库尝试调用未安装在 %appdata% 文件夹中的转换扩展 "pkedcjkdefgpdelpbcmbmeomcjbeemfm"。

Chrome 尝试在 gvt1.com 下载它,但网络阻止了该域。与网络管理员交谈后,我们释放了域并且它起作用了。

在我的例子中,当我播放音频 sound/beep.ogg 时,它有效但控制台包含相同的错误。我通过将它添加到 manifest.json:

中的 web_accessible_resources 来解决它
"web_accessible_resources": [
  "tileset/*.json", "layer/*.json", "sound/*.ogg"
],

有时发生这种情况是因为扩展失败。如果您转到 Chrome 开发人员工具中的“网络”选项卡,并将鼠标悬停在以红色显示无效的行上的“启动器”列上,您会看到类似

的内容

chrome-extension://jjfblogammkiefalfpafidabbnamoknm ...

然后转到 Chrome 的扩展程序页面,您将看到具有该 ID 的扩展程序。禁用或删除该扩展程序。