我有一個phonegap應用程序拋出一個javascript錯誤。我已經在桌面上的瀏覽器中打開了HTML頁面,它在那裏沒有任何錯誤地正常工作。當我在android模擬器中加載它時,window.onerror事件被解僱了,但我在錯誤對象中看不到任何有用的信息來查看它來自哪裏。我有這個嘗試從錯誤對象中獲得更多的信息:找到我在android上得到的javascript錯誤
window.onerror = function(e){
for(var i in e){
console.log("window.onerror ::" + i + ' = ' + e[i]);
}
};
但我甚至沒有看到'message'屬性。這裏的輸出:
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
我還能做些什麼來發現問題?
那麼你可以調試代碼...? – gdoron 2012-03-05 19:54:46
我不知道,可以嗎?我剛剛安裝了eclipse - 我從未使用它或任何其他Java工具。你可以在它的JavaScript類中設置斷點,或者將它設置爲在任何javascript異常時自動打斷? – adam0101 2012-03-05 20:02:47
自從我使用eclipse以來,已經有一段時間了,不知道......但是在VS中你可以。 =) – gdoron 2012-03-05 20:04:31