我在做一个和拉斐尔有关的项目。事实证明,它在Android上不起作用。iPhone上是这样的。
我该怎么调试Android浏览器上的东西呢?它是WebKit,所以如果我知道版本,在完整版本的WebKit上调试它会产生相同的结果吗?
我在做一个和拉斐尔有关的项目。事实证明,它在Android上不起作用。iPhone上是这样的。
我该怎么调试Android浏览器上的东西呢?它是WebKit,所以如果我知道版本,在完整版本的WebKit上调试它会产生相同的结果吗?
当前回答
关于:debug(或chrome:\\debug两者都表示页面无法找到,但启用设置中的debug菜单)在chrome或Opera上的Android KitKat 4.4.2在三星Tab上尝试时
如果您在设备上具有ROOT权限,则可以直接在设备上查看控制台消息。使用像CatLog这样的应用程序来查看日志输出- https://play.google.com/store/apps/details?id=com.nolanlawson.logcat&hl=en这将让你查看所有的logcat活动。
在Android KitKat/4.4.2中,浏览器控制台输出到Chromium通道。你可以通过“Chromium”来过滤所有的浏览器活动(包括浏览器的内部活动),或者简单地通过“Console”来过滤,只看到浏览器的控制台日志。
chromium [INFO:CONSOLE(3)] "The key "x-minimal-ui" is not recognized and ignored.", source http://mywebsite.com/ (3)
其他回答
我用Weinre,阿帕奇科多瓦的一部分。
使用Weinre,我可以在桌面浏览器中获得谷歌Chrome的调试控制台,并可以将Android连接到该调试控制台,并调试HTML和CSS。我可以在控制台中执行Javascript命令,这些命令会影响Android浏览器中的Web页面。来自Android的日志消息出现在桌面调试控制台中。
然而,我认为这是不可能查看或逐步通过实际的Javascript代码。所以我把Weinre和日志信息结合起来。
(我对JConsole了解不多,但在我看来,用JConsole检查HTML和CSS是不可能的,只有Javascript命令和日志记录(?))
看一看jsHybugger。它将允许你远程调试你的js代码:
Android混合应用(webview, phonegap, worklight) Web页面运行在默认的android浏览器(不是Chrome,它支持ADB扩展没有这个工具)
这是如何工作的(在项目网站上有更多的细节和替代方案,这是我发现的最好的方法)。
Install the jsHybugger APK on your device Enable USB debugging on you device. Plug the Android device into your desktop computer via USB Run the app on the Android device ('jsHybugger') Enter the target URL and page in the app. Press Start Service and finally Open Browser You'll be presented with a list of installed browsers, choose one. The browser launches. Back on your desktop computer open Chrome to chrome://inspect/ An inspectors window will appear with the chrome debugging tools linked to the page on the Android device. debug away!
同样,在Android上使用Chrome使用ADB扩展而不使用jsHybugger。我想这个问题的公认答案已经描述过了。
关于:debug(或chrome:\\debug两者都表示页面无法找到,但启用设置中的debug菜单)在chrome或Opera上的Android KitKat 4.4.2在三星Tab上尝试时
如果您在设备上具有ROOT权限,则可以直接在设备上查看控制台消息。使用像CatLog这样的应用程序来查看日志输出- https://play.google.com/store/apps/details?id=com.nolanlawson.logcat&hl=en这将让你查看所有的logcat活动。
在Android KitKat/4.4.2中,浏览器控制台输出到Chromium通道。你可以通过“Chromium”来过滤所有的浏览器活动(包括浏览器的内部活动),或者简单地通过“Console”来过滤,只看到浏览器的控制台日志。
chromium [INFO:CONSOLE(3)] "The key "x-minimal-ui" is not recognized and ignored.", source http://mywebsite.com/ (3)
试一试:
打开要调试的页面 而在该页面上,在普通Android浏览器的地址栏中输入: :调试 (注意什么都没有发生,但是启用了一些新的选项。)
在我试过的设备上都有效。阅读更多关于Android浏览器:调试,这些设置做什么?
编辑: 在脚本中添加以下代码也有助于检索更多信息,如行号:
window.onerror = function (message, url, lineNo){
console.log('Error: ' + message + '\n' + 'Line Number: ' + lineNo);
return true;
}
你可以试试npm library中的"javascript-compiler-deva",先运行"npm install javascript-compiler-deva"命令,然后运行编译器。正在使用"node compiler.js"。
它在端口8888上创建一个服务器。然后,您可以点击“http://localhost:8888”并输入JavaScript代码,就可以在手机浏览器中看到包括“console.log”在内的任何JavaScript代码的结果。
它也托管在“https://javascript-compiler-deva.herokuapp.com/”中。