可以在window.onerror事件的处理程序中包含非字符串变量吗?

时间:2012-09-24 11:10:51

标签: javascript android html android-webview

window.onerror = function() {
    log arguments.m || arguments[0];
}

我的日志为'[Object event]'。任何人都可以告诉我为什么会有一个事件对象被发送到处理程序?我们如何重现或修复它?

它仅在Android设备的网络控制上出现。

提前致谢。

3 个答案:

答案 0 :(得分:0)

您将获取错误事件对象作为该函数的第一个参数。事件对象包含有关错误的详细信息。

答案 1 :(得分:0)

arguments不是由你如何定义函数决定的,而是由它的调用方式决定的。 调用window.onerror时,event将作为第一个参数传递给它。 (对于非IE,在IE中,事件是全局可访问的。)

示例:

var foo = function() {
  console.log(arguments[0], arguments[1]);
}

foo(1,2);
// will log 1 and 2

答案 2 :(得分:0)

这似乎只是旧Android浏览器中的一个错误。见https://github.com/getsentry/raven-js/issues/360