如何解决将控制台错误检索为html
我的问题不同于与此类似的其他帖子。
AutoCAD为开发人员提供了一种在应用程序内部显示URL页面的方法。我为公司创建了一个Intranet网站,希望用户可以通过桌面浏览器或其AutoCAD应用程序进行浏览。
问题是AutoCAD使用的浏览器是Chrome版本33(当前版本为84)-也无法更新或更改浏览器。
我无法在AutoCAD中进行“检查”或调试站点-我发现v84和v33有很多区别。我现在正在尝试诊断错误,但是再次,我无法访问AutoCAD浏览器中的控制台日志。
我是否可以“警告”控制台尝试给我的任何错误? (即:页面找不到脚本引用,出现意外的“。”,等等。)
注意-我的网站在最新的Chrome浏览器(台式机浏览器为v84)上运行良好,但是在v33(在AutoCAD浏览器中)无法正常工作。
解决方法
如果您控制网站,则可以在窗口上附加一个侦听器,以侦听任何未处理的异常。在所有其他脚本之前添加此代码,以确保捕获所有内容。
window.on('error',(e) => {
// if error is intresting,do work.
alert(e.message);
});
处理程序接受ErrorEvent
对象。
注意-这不会捕获跨域脚本中触发的错误。例如,如果您正在加载Google地图,并且在该脚本中触发了错误,则通常会收到“脚本错误”。没有其他信息。这与跨源策略有关。您可以阅读更多here。
如果您需要专门捕获发送到console.error
的数据,则可以简单地代理该功能。除了可能显式调用console.error
的代码外,这可能无法捕获任何内容。
const error = console.error;
console.error = (...args) => {
// alert(...);
error.apply(console,args);
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。