我们刚刚为ASP.Net Web应用程序启用了Azure Application Insights。该站点通过Windows Server 2012 VM托管在Azure中的IIS 8上。我们启用了客户端遥测功能,以检测客户端上的浏览器错误。我们已经看到了很多这样的错误:
"Invalid character"
"Invalid character at window.onerror"
Call Stack:
window.onerror@https://www.mywebsite.com/login/:79:32
我们的网站流量不大,但在过去24小时内已记录了400多次此错误。
最后两个字符:79:32
在错误之间略有不同,但它们始终以:32
结尾。我猜这些是ASCII字符,但我不知道为什么会出现这些错误。另外,URL路径并不总是相同的,这意味着它发生的不仅仅是我们的“登录”页面。
Azure Insights确实表明所有遇到此错误的客户端都在使用Internet Explorer 11。
我确认我们的Web应用程序没有在任何地方调用window.onerror
。
所以我的问题是,我应该担心这个错误吗?与IE11有某种兼容性吗?
是的,这只是IE11的某种兼容性问题。Window.onerror
在浏览器中已经存在了一段时间,即使我们可以在IE6和Firefox2之前的浏览器中找到它。但是,问题在于每种浏览器实现windows.onerror
的方式都不同,尤其是在向onerror
侦听器发送了多少个参数以及这些参数的结构方面,它们会导致类似的错误。请参考以下链接。https://dzone.com/articles/capture-and-report-javascript-errors-with-windowon既然我们已经知道某些Javascript与某种旧浏览器不兼容,那么我认为这不是我们关注的问题。这只是在客户端发生的错误,不会影响应用程序的运行。