Debugging Android WebViews?
Debugging Android WebViews?
我正在调试一个Android应用程序,该应用程序大量使用WebViews来显示应用程序内的网页。
问题很简单-当我加载页面时,有一个锚在一个页面上,当点击给我一个404。问题是,它只有在从应用程序的WebView中运行页面时才会这样做。如果我在桌面浏览器中加载页面,或者从Chrome或从手机上的Android浏览器中加载页面,我加载页面都很好。
更令人困惑的是,在同一页面上有另一个具有相同基本架构的锚点,它工作得很好。
锚的URL正在通过JQuery设置:
var url = ...;
$('#submitButton').attr('href', url);
当我在桌面浏览器上加载页面时,我可以看到锚指向的URL,并且它是正确的。当我在应用程序的WebView中运行页面时,我看不到锚点指向的URL,所以当它失败时,我不知道为什么。
我目前使用VS2013和IIS Express运行该网站,设置了绑定和防火墙,因此我可以从我的机器上访问它。我正在Android Studio 1.1.0中构建应用程序,并在GenyMotion模拟器中运行该应用程序。
是否有任何方法我可以检查加载到webview的网页的DOM,所以我可以确切地看到我们试图加载的URL ?或者我能调试构建URL的javascript吗?
是否有任何方法我可以检查一个网页的DOM加载到一个webview,>所以我可以看到我们试图加载什么URL ?或者我可以调试构建URL的javascript吗?
是的,但也许不是用你现在的工具。如果你有一个android设备连接到你的电脑,你可以很容易地调试你的电脑上的chrome浏览器。有关详情,请参阅以下内容:https://developer.chrome.com/devtools/docs/remote-debugging
可以配置WebView,使console.log()消息显示在LogCat中。你需要在WebView上设置WebChromeClient,然后在你的客户端实现onConsoleMessage()。从http://developer.android.com/guide/webapps/debugging.html:
WebView myWebView = (WebView) findViewById(R.id.webview);
myWebView.setWebChromeClient(new WebChromeClient() {
public void onConsoleMessage(String message, int lineNumber, String sourceID) {
Log.d("MyApplication", message + " -- From line "
+ lineNumber + " of "
+ sourceID);
}
});
这让我远远弄清楚我的问题是什么- javascript初始化的链接依赖于LocalStorage, LocalStorage和SessionStorage不启用,在WebViews,默认情况下。您需要通过调用setDomStorageEnabled()来启用它。(你还需要启用javascript,但我已经这样做了):
WebView myWebView = (WebView) findViewById(R.id.webview);
WebSettings settings = myWebView.getSettings();
settings.setJavaScriptEnabled(true);
settings.setDomStorageEnabled(true);
- 如何在android中使用phonegap将文件从一个文件夹移动/复制到另一个文件夹
- 使用电话间隙在Android应用程序中显示SQL Lite的数据
- 如何在webView,Android中从@JavascriptInterface方法调用Javascript
- 字符串在将其传递给另一个活动Android JavaScript时读取Null
- 使用Native Sockets在Android中实现WebSockets
- window.onload没有'无法在Android WebView中工作
- cordova-2.0.0.js不适用于使用phonegap的android
- 如何在Ionic Android中将Javascript注入到web视图中
- android XWalkView内容宽度
- AddEventListener适用于浏览器,但不适用于Android
- HTML锚标记无法在android平台中下载文件
- 在phonegap中为android调用onload函数的最佳方式
- Phonegap css height%不适用于android 4.2-4.3
- 在cordova android应用程序中连接数据库
- Android上URL方案的替代方案
- Android Webview通过Javascript注入CSS
- Android在webview中加载带有javascript的html文件,得到Uncaught ReferenceEr
- 使用javascript将视频从我的android应用程序上传到youtube
- 如何针对Android股票/本地浏览器来调整CSS
- Debugging Android WebViews?