Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 查找我';我在安卓上遇到了电话鸿沟_Javascript_Jquery_Android_Cordova_Error Handling - Fatal编程技术网

Javascript 查找我';我在安卓上遇到了电话鸿沟

Javascript 查找我';我在安卓上遇到了电话鸿沟,javascript,jquery,android,cordova,error-handling,Javascript,Jquery,Android,Cordova,Error Handling,我有一个phonegap应用程序抛出了一个javascript错误。我已经在桌面上的浏览器中打开了HTML页面,它在那里工作正常,没有任何错误。当我在android emulator中加载它时,window.onerror事件被触发,但我在error对象中看不到任何有用的信息,无法查看它的来源。我有以下几点来尝试从错误对象中获得更多信息: window.onerror = function(e){ for(var i in e){ console.log("window.

我有一个phonegap应用程序抛出了一个javascript错误。我已经在桌面上的浏览器中打开了HTML页面,它在那里工作正常,没有任何错误。当我在android emulator中加载它时,window.onerror事件被触发,但我在error对象中看不到任何有用的信息,无法查看它的来源。我有以下几点来尝试从错误对象中获得更多信息:

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

我还可以做些什么来发现问题?

现在,您可以安装Chrome for android,并以与普通Chrome相同的方式远程调试/分析您的应用程序:


要在仿真器中安装Chrome,请执行以下操作:

  • 下载apk(从这里下载,例如:)
  • 启动运行适当版本android的仿真器(针对此特定apk的4.0)
  • 执行adb安装chrome.apk

安装可能需要一段时间。然后按照说明远程调试web应用程序

,因为错误处理程序实际上传递了多个参数,所以您也需要记录这些参数

比如说,

window.onerror = function(e,f,g){
   console.log("window.onerror ", e, f, g);
};

你可以调试代码…?我不知道,可以吗?我刚刚安装了eclipse——我以前从未使用过它或任何其他java工具。你能用它在javascript类中设置断点吗?或者在任何javascript异常时将其设置为自动中断?我使用eclipse已经有一段时间了,不知道。。。但在VS中,您可以。=)如果我可以使用VS,那就太好了,但是我的笔记本电脑太旧了,我无法获得支持WindowsPhone7模拟器的视频驱动程序。没有办法将VS连接到android emulator,是吗?我没有将应用程序部署到移动设备上,只是部署到从eclipse启动的android emulator上。这适用于我吗?看起来很有希望。顺便说一句,我见过有人在模拟器中使用Chrome时遇到问题,请确保您安装了最新的API更新,如果您有可用的,最好在真实设备上试用。据我所知,这不适用于Phonegap。根据该链接,必须以某种方式设置WebView以启用调试,并且必须使用KitKat。