本文共 1526 字,大约阅读时间需要 5 分钟。
Script error.全面解析]( error.`的由来。这篇博客,我们将各种情况(不同浏览器、本地远程托管JS文件)考虑进去,进行一个深度的测试,为读者带来一个全面的了解。
GitHub仓库:
index.html中使用onerror监控错误。
Test Script error
scripterror.js中抛出一个Error对象:
throw new Error('Hello, Fundebug');
该Error对象会被window.onerror
捕获。
如果我们直接在本地打开index.html
, 可以看到Safari, Firefox, IE浏览器都能正确打印出错误信息。
Script error.
这是因为:
To load local resources in Chrome when just using your local computer and not using a webserver you need to add the --allow-file-access-from-files flag.
如果一定要使用,需要开启访问本地文件的候选项,可以参考。
我们将使用。
安装http-server:
npm install http-server -g
运行http-server:
http-serverStarting up http-server, serving ./Available on: http://127.0.0.1:8080 http://172.20.1.86:8080 http://192.168.59.100:8080Hit CTRL-C to stop the server
访问
scripterror.js
托管为了测试Script error.
, 我将scripterror.js
分别托管在了和。
index.html
Chrome, Safari和IE浏览器都将错误信息隐藏,返回Script error.
。 不过Firefox比较特别,依然将错误信息完整的打印出来,大概是为了方便开发者排错。
index.html
结果和托管在Coding上是一样的。
将引入脚本修改一下,加入crossorigin="anaonymous"
:
再次执行运行,在不同浏览器的表现如下:
Chrome, Safari可以获取详细的出错信息了,但是IE浏览器依然是Script error. 。这一点比较奇怪, 根据,IE11应该是没有问题的。
在这里我将Coding和七牛对于scripterror.js
的Response Headers对一下:
七牛的Access-Control-Allow-Origin
允许来自所有域名的请求,而Coding没有。七牛是一个资源托管分发平台,因此特意配置了不同的返回头,方便开发者将脚本放在七牛云同时又可以拿到出错信息。
下一篇博客中,我们将提出Script error的。
专注于JavaScript、微信小程序、微信小游戏、支付宝小程序、React Native、Node.js和Java实时BUG监控。 自从2016年双十一正式上线,Fundebug累计处理了7亿+错误事件,得到了Google、360、金山软件、百姓网等众多知名用户的认可。欢迎免费试用!
转载时请注明作者以及本文地址:
转载于:https://blog.51cto.com/13957060/2317749