歌剧:.js文件将不会加载(Opera: .js file won't load)

2019-09-27 01:51发布

我有一个在头调用的脚本,像这样的页面:

<script type="text/javascript" src="http://www.discoverfire.net/analytics/l/a.js"></script>

(请注意,您将无法加载这个脚本,因为它是为分段域本地DNSd)

很简单。

火狐,IE,Chrome浏览器都与此基础上,多合一功能没有问题。

歌剧,但是,拒绝加载脚本。 在它的任何变量或函数是“不确定”和蜻蜓,脚本标签在DOM中显示,但“脚本”选项卡中说:“任何脚本文件中。”

我去谷歌,找到随机的网页,其外部.js文件似乎工作就好了。

任何想法,为什么歌剧恨我? 是否有安全/ JavaScript的事情我失踪?

有几件事情,可能是相关的,但真的应该没有什么区别:

  • 该脚本是比页面不同的域。
  • 该脚本只是我的本地网络上可用。 网域是用于分期本地DNS'd,来自网络外部的指向别处。 难道歌剧有一个设置偷偷使用外部DNS服务器?
  • 该脚本适用于其他浏览器我有。
  • 这个问题是不是在脚本内容。 我已经将它降低到与警报一行,它根本不会在Opera工作。

更新:

OK,这个问题似乎是歌剧如何处理领域。

我提出剧本到其他多个领域,和它的工作就好了。 我已经把它搬到几条路径上的本地DNS'd域,它不会在该域的任何地方工作。

这使我相信这个问题是Opera不能或不会,从该域名出于某种原因加载脚本。

奇怪的是,似乎有加载从域网页和其他资源没有问题,问题出在只有.js文件。

该域名被注册,但停放。 我们DNS'd在本地,所以我们可以用它来分期/测试,并且可以与歌剧某种方式搞乱JS的安全性。

我可能是错的 - 我真的不知道。 如果任何人有一个,我很乐意听到它。

更新2:

关于蜻蜓和错误控制台/开发者工具,他们不说对剧本的任何东西。 有很多变量和函数,应该是从脚本目前未定义的变量错误的,但除此之外,没有任何错误。 奇怪的是,脚本标签确实在DOMM显示出来,但如果我点击脚本选项卡上,它说:“未找到脚本”。

更新3:

有没有阻止的内容,所以我们至少可以排除设置。

Answer 1:

你可能想看看它的广告拦截器的凑了过来。 您的网址包含文本“分析,”这可能是一个“街区”模式的一部分。 我知道通过Opera一些块谷歌分析。 一个简单的测试,这可能是尝试移动你的.js到主机上的其他路径。



Answer 2:

你检查Opera的错误控制台? 工具>高级>错误控制台应该提供关于为什么它不会加载或是否有某种其他错误信息。



Answer 3:

象雅各建议,你应该检查,如果它不会被阻断。 去做这个:

  • 你的页面上点击右键
  • 在上下文菜单中选择“块内容......”
  • 在屏幕的顶部,单击“详细信息”按钮
  • 您应该看到被封锁在当前页面上的URL的


Answer 4:

你应该问的Opera论坛。 我在过去的一些问题与歌剧,他们很快地回答。



Answer 5:

是服务JavaScript文件的正确的MIME类型的主机。 这不是一个普遍众所周知的事实,但type=text/javascript属性实际上是由浏览器忽略,因为它相信,服务器指定正确的类型。

另外的MIME类型text/javascript是当它涉及到的JavaScript实际上是错误的,实际的JavaScript MIME类型application/ecmascript (如果我没有记错,它可能是application/javascript虽然)。 如果你不相信我,你应该有一个看看这里 ,我有更多的信息和链接关闭的道格拉斯康乐福的视频中,他讨论的MIME类型。



Answer 6:

我有类似的东西最近 - 歌剧将不只是一个外部服务器上运行一个脚本......也不如果我下载了它,把它在本地主机上。 它只有当复制/粘贴脚本标记之间插入HTML页面跑去。

原来,该脚本用UTF-16编码,这在某种程度上混淆了浏览器。 当我将它转换为UTF-8,一切都运行得很好。

所以,为了以防万一,如果你仍然有问题,检查出的编码设置...



Answer 7:

我有相同的问题,追平从本地主机/服务器发展到一个页面,在无果主办的公共服务器上加载脚本。 我管理的脚本在Opera载入的唯一方法是对网页的副本保存到一个位置相同的开发服务器上,并使用标签来引用原始域获得页面的.css和.js文件链接的文件。 这工作。 貌似Opera不喜欢混合的公共和本地主机领域,但处理本地主机无投诉。



Answer 8:

你看到的可能是针对所谓的“钓鱼医药”攻击Opera的安全预防措施:跨网络的保护。 你不能从本地服务器中混用公共服务器和内容的内容。

看看我的答案在这里的一种变通方法:

Opera将不会加载一些JavaScript文件



文章来源: Opera: .js file won't load