关于javascript:如果未安装Chromecast扩展程序或使用隐身模式,则Google Chromecast发件人错误

Google Chromecast sender error if Chromecast extension is not installed or using incognito

运行Chrome Incognito中的Chromecast发送器时出错,或者如果未安装Chromecast扩展:

1
2
3
4
5
6
Failed to load resource: net::ERR_ADDRESS_UNREACHABLE chrome-extension://boadgeojelhgndaghljhdicfkmllpafd/cast_sender.js
Failed to load resource: net::ERR_ADDRESS_UNREACHABLE chrome-extension://dliochdbjfkdbacpmhlcpmleaejidimm/cast_sender.js
Failed to load resource: net::ERR_ADDRESS_UNREACHABLE chrome-extension://hfaagokkkhdbgiakmmlclaapfelnkoah/cast_sender.js
Failed to load resource: net::ERR_ADDRESS_UNREACHABLE chrome-extension://fmfcbgogabcbclcofgocippekhfcmgfj/cast_sender.js
Failed to load resource: net::ERR_ADDRESS_UNREACHABLE chrome-extension://enhhojjnijigcajfphajepfemndkmdlo/cast_sender.js
No cast extension found

google cast sender正在尝试发送本地"cast_sender.js"的Ajax请求。是否会发生这种情况,或者是否有更好的方法检查Chromecast发送方扩展是否存在(而不是通过请求Ajax请求)?

我相信这些Ajax请求是一种询问Chromecast扩展是否存在的方法。有没有更好的方法来检查Chromecast扩展是否存在?


更新:经过几次尝试,看起来这可能已经在最新的Chrome版本中修复了(根据PaulIrish在下面的评论)。这意味着我们将在2016年6月至7月的稳定铬合金中看到这一点。让我们看看……

这是官方Chromecast JavaScript库的已知错误。它不会自动失败,而是将这些错误消息转储到所有非chrome浏览器以及chrome浏览器中,而chromecast扩展不存在。

Chromecast团队已经表示他们不会修复这个错误。

根据Chromecast团队的说法,如果您是随此库提供服务的开发人员,则不能对此做任何事情。您只能通知用户忽略错误。(我相信Chromecast团队并不完全正确,因为如果浏览器不是Chrome,库至少可以避免请求扩展scipt。我怀疑即使是chrome,也可以抑制错误,但没有尝试任何操作。)

如果您是对这些控制台消息感到恼火的用户,则可以切换到chrome(如果尚未使用)。在Chrome中,可以是:

  • 从这里安装Chromecast延长件。
  • 配置devtools以隐藏错误消息(请参阅下面的david答案)。

更新【2014年11月13日】:该问题已被谷歌确认。Chromecast团队的一名成员似乎建议,这个问题将被团队目前正在进行的更改所忽略。

更新2【2015年2月17日】:团队声称他们无法删除错误日志,因为这是一个标准的Chrome网络错误,他们仍在进行长期修复。关于bug追踪器的公开评论被更新关闭。

更新3【2015年12月4日】:此问题已最终解决!最后,Chrome团队简单地添加了一些代码来阻止这个特定的错误。希望将来能够改进devtools和扩展api的一些组合,使在不修补浏览器的情况下解决此类问题成为可能。ChromeCanary已经有了补丁,所以它应该在1月中旬发布给所有用户。此外,该团队已经确认该问题不再影响其他浏览器,因为该SDK被更新为仅在Chrome中激活。

更新4(4月30日):不,还没有。值得庆幸的是,谷歌的开发者关系团队比其他利益相关者更清楚这对开发者体验的影响。最近进行了更多的白名单更新,以删除这些日志消息。日志顶部的当前状态。


如果你想暂时消除这些控制台错误(就像我一样),你可以在这里安装扩展:https://chrome.google.com/webstore/detail/google-cast/boadgejojelhgndaghljhdicfkmlpafd/reviews?HL=EN

我留下了一篇评论,要求修复。您也可以在这里通过扩展名(安装之后)来做一个bug报告。相关说明如下:https://support.google.com/chromecast/answer/3187017?HL=EN

我希望谷歌能做到这一点。我需要我的控制台来显示我的错误等,而不是他们的错误。


过滤这些错误怎么样?

使用下面的regex过滤器,我们可以消除cast_sender.js错误:

1
^((?!cast_sender).)*$

不要忘记选中regex框。

enter image description here

另一个快速解决方案是"隐藏网络消息"。

氧化镁


我知道这不是最好的解决方案,但我在网上看到的唯一一个可能的解决方案是安装Chrome Cast扩展,所以,我决定,不要把iframe放到网站上,我只是像在这篇文章中解释的那样,插入YouTube上我视频的缩略图。

我们有两种选择:1)将视频定位到频道并在那里播放2)通过Ajax调用视频,比如在颜色框或任何其他插件中解释这里(我已经决定了这一点)。

像这样,我防止了谷歌广播发送者的错误,使我的网站变慢。


默认情况下,chrome扩展不会以匿名模式运行。您必须显式地使扩展以匿名方式运行。