避免使用神秘的javascript"脚本错误”;使用cdn

Avoid cryptic javascript "script error" using cdn

本文关键字:quot 脚本错误 cdn 使用 javascript      更新时间:2024-03-30

我使用的脚本可以检测Javascript错误并将其报告给我的后端。然而,我收到了神秘的"脚本错误"消息,这对调试没有太大帮助。

根据Cryptic";脚本错误"在Chrome和Firefox的Javascript中报告,原因是引发错误的脚本来自与我的网站不同的来源。

由于我使用的是CDN,所以我所有的脚本都是从另一个域有效地提供的。有没有一种方法可以在使用CDN的同时获得更有用的错误消息?

此外,一切都是通过SSL提供的,所以我想保留这种能力。

我也遇到了类似的问题:我的脚本由子域提供服务,并且受到同源限制。然而,我通过以下方式解决了这个问题:

1) 添加每个脚本标签如下:

<script type="text/javascript" src="http://subdomain.mydomain.tld" crossorigin="*.mydomain.tld" />

2) 通过在每个vhost中添加以下内容来修改apachehttpd.conf(您必须启用mod_headers):

<IfModule mod_headers.c>
Header add Access-Control-Allow-Origin "*.mydomain.tld"
</IfModule>

在我的一台服务器上,除了更换外,我无法使其正常工作

*.mydomain.tld

通过

*

请注意可能允许*伪造扩展信息的缺陷。CORS文档,同源,img&字体,cdn是可用的,但很少有关于脚本标记交叉来源的详细信息可用。

希望这能帮助。。。

尝试在jQuery.ajax中使用jsonp作为dataType属性。远程服务器也需要支持jsonp。它将绕过浏览器安全阻止XSS。

或者,您可以在每个窗口中使用IFrame和jQuery,但使用HTML5 postMessage在两个不同域的窗口之间来回通信。

或者,如果您控制两个服务器,您可以为相同的源设置头。

Jsonp一直是我解决这类问题的首选武器。其他人只是合法的。