我维护的JavaScript单页面应用程序大部分时间都在我们客户网站页面中创建的 iframe中打开。
我们的SPA具有window.onerror
的残酷覆盖,因为我希望在我的服务器上收到执行代码期间发生的所有JS错误的通知。
window.onerror = my_global_error_handler;
当JS代码失败时,我会记录它来自的域。我希望所有错误都来自我公司域名的代码。 但是,在某些情况下,我会从其他域加载的JS代码生成错误。我想知道这是怎么可能的,因为我希望我的错误处理程序无法捕获我的代码正在执行的iframe之外的错误。
由于我的日志中提到的大多数“外国”域名都是各种病毒式电子营销公司,我想知道一些聪明的孩子是否设法在我的iframe中注入代码。
另一个假设是,当我覆盖内部iframe窗口时,某些浏览器可能会覆盖顶部窗口的错误处理程序。
可能会发生什么?