编程语言
首页 > 编程语言> > 记录来自另一个子域的JavaScript错误

记录来自另一个子域的JavaScript错误

作者:互联网

在Firefox和Chrome浏览器中,window.onerror似乎会丢弃实际的错误消息/位置,并且当有问题的脚本位于与页面本身不同的域中时,始终传递“ Script error.”,“”,0.我有一个站点,该站点具有单独的www和静态子域,用于页面和css / js,这使错误记录变得毫无用处.有什么方法可以正确记录此类错误?

解决方法:

真正的解决方案是在所有代码中使用适当的try {…} catch(e){…}块.但是,我知道这可能并非总是一种选择.

如果您无法控制其他脚本,则下一个最佳选择是通过JSONP将它们加载为字符串,然后使用eval()(是的,我知道eval is evil)将它们“注入”到当前页面中.这样,您仍然可以获得使用静态域的好处(没有cookie,CDN选项,其他并发请求等),但是JS最终将位于页面的请求域中.

标签:error-logging,javascript
来源: https://codeday.me/bug/20191202/2086886.html