【发布时间】:2012-03-23 07:11:53
【问题描述】:
我有一个 phonegap 应用程序引发了 javascript 错误。我已经在桌面上的浏览器中打开了 HTML 页面,它在那里工作正常,没有任何错误。当我在 android 模拟器中加载它时,window.onerror 事件被触发,但我在错误对象中看不到任何有用的信息来查看它的来源。我有这个尝试从错误对象中获取更多信息:
window.onerror = function(e){
for(var i in e){
console.log("window.onerror ::" + i + ' = ' + e[i]);
}
};
但我什至没有看到“消息”属性。这是输出:
window.onerror ::undefined
window.onerror ::eventPhase = 3
window.onerror ::currentTarget = [object DOMWindow]
window.onerror ::cancelable = false
window.onerror ::target = [object HTMLScriptElement]
window.onerror ::bubbles = true
window.onerror ::type = error
window.onerror ::cancelBubble = false
window.onerror ::clipboardData = undefined
window.onerror ::srcElement = [object HTMLScriptElement]
window.onerror ::defaultPrevented = false
window.onerror ::timeStamp = 1330975112077
window.onerror ::returnValue = true
window.onerror ::stopPropagation = function stopPropagation() { [native code] }
window.onerror ::preventDefault = function preventDefault() { [native code] }
window.onerror ::initEvent = function initEvent() { [native code] }
window.onerror ::stopImmediatePropagation = function stopImmediatePropagation() { [native code] }
window.onerror ::CAPTURING_PHASE = 1
window.onerror ::AT_TARGET = 2
window.onerror ::BUBBLING_PHASE = 3
window.onerror ::MOUSEDOWN = 1
window.onerror ::MOUSEUP = 2
window.onerror ::MOUSEOVER = 4
window.onerror ::MOUSEOUT = 8
window.onerror ::MOUSEMOVE = 16
window.onerror ::MOUSEDRAG = 32
window.onerror ::CLICK = 64
window.onerror ::DBLCLICK = 128
window.onerror ::KEYDOWN = 256
window.onerror ::KEYUP = 512
window.onerror ::KEYPRESS = 1024
window.onerror ::DRAGDROP = 2048
window.onerror ::FOCUS = 4096
window.onerror ::BLUR = 8192
window.onerror ::SELECT = 16384
window.onerror ::CHANGE = 32768
我还能做些什么来找出问题所在?
【问题讨论】:
-
那么你可以调试代码...?
-
我不知道,可以吗?我刚刚安装了 eclipse - 我以前从未使用过它或任何其他 java 工具。你能用它在 javascript 类中设置断点,或者将其设置为在任何 javascript 异常时自动中断吗?
-
我使用eclipse已经有一段时间了,不知道......但在VS中你可以。 =)
-
如果我可以使用 VS 那就太好了,但是我的笔记本电脑太旧了,无法获得支持 Windows Phone 7 模拟器的视频驱动程序。没有办法将 VS 附加到 android 模拟器,是吗?
标签: javascript jquery android cordova error-handling