Pab*_*dez 5 firefox google-chrome onerror cors
背景
几年前,onerror处理程序和交叉原始脚本标签存在问题,有关此问题的更多信息.
主流浏览器解决了这个问题
实际问题
我在localhost上托管一个简单的页面,包括来自不同域的脚本(例如"sitea"),这是HTML的样子:
<html>
<head>
<script>window.onerror = function(e, f, g) { console.log('err',e,f,g) }</script>
</head>
<body><h2>test</h2>
<script src='http://siteA:8081/one.js' crossorigin='anonymous'></script>
</body>
</html>
Run Code Online (Sandbox Code Playgroud)
脚本siteA执行此操作:
var foo; foo.bar;
Run Code Online (Sandbox Code Playgroud)
显然,因为bar未定义,所以会抛出.
不幸的是,我仍然在第0行处理"脚本错误",如门票中所述.
请注意,我是:
设置crossdomain属性.
在请求中查看"Origin"标头
将Access-Control-Allow-Origin标头设置为"*"并在开发Web工具上查看它.
我在firefox和chrome上都尝试了它,它不起作用.任何人都知道为什么?
在 Firefox 20 中适用,Chrome从版本 30 开始支持跨域错误报告。
您可以看到,浏览器确实发送了Origin:标头,因为<script>标记具有crossorigin属性,并且错误被正确报告,因为服务器以Access-Control-Allow-Origin: *.
| 归档时间: |
|
| 查看次数: |
1406 次 |
| 最近记录: |