use*_*876 5 javascript safari throw onerror
我有一个附加到 window.onerror 的函数
window.onerror = function(errorMsg, url, line) {
window.alert('asdf');
};";
Run Code Online (Sandbox Code Playgroud)
这在 firefox、chrome 和 IE 中工作正常,但在 safari 中不起作用。通过一些挖掘,我在某处读到 safari 不支持 onerror。然而,这个帖子已经有几年了。safari 目前支持 onerror 吗?
如果没有,是否有解决方法?
是的,Safari 确实支持window.onerror您发布的函数签名:function(errorMsg, url, line),大概是从 2011 年webkit 添加它开始。
但是,它当前不支持包括堆栈跟踪和列号的新签名:function(errorMsg, url, line, column, errorObject)。然而,这似乎正在进行中:https://bugs.webkit.org/show_bug.cgi ?id=55092
Firefox 和 Chrome 已经支持新语法:
https://bugzilla.mozilla.org/show_bug.cgi?id=355430
https://code.google.com/p/chromium/issues/detail?id=147127