在 Android WebViewClient 中获取空白页
Posted
技术标签:
【中文标题】在 Android WebViewClient 中获取空白页【英文标题】:Getting blank page in Android WebViewClient 【发布时间】:2012-02-15 14:23:08 【问题描述】:我正在尝试打开推特链接:http://mobile.twitter.com/pawan_rathore88 在我的活动中。如果我将 WebViewClient 设置为 webview,我会得到空白页。 但是当我在没有设置任何 webviewclient 的情况下加载 url 时,它会正确加载页面。 有谁知道可能是什么问题。以下是我的代码 sn-p。
webview = (WebView) findViewById(R.id.webview);
webview.getSettings().setjavascriptEnabled(true);
//if I comment the following line then webpage loads properly in default android browser.
webview.setWebViewClient(new WebViewClient()
public void onReceivedError(WebView view, int errorCode, String description, String failingUrl)
Toast.makeText(activity, "Oh no! " + description, Toast.LENGTH_SHORT).show();
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url)
Log.v(tag, "url :" + url);
view.loadUrl(url);
return true;
);
webview.loadUrl("http://mobile.twitter.com/pawan_rathore88");
谢谢, 帕万
【问题讨论】:
什么是“空白”页面。您的意思是说它无法加载页面的错误吗? 不,只是显示白页,上面什么都没有。 链接有效,有趣...尝试编写一个应用程序来加载网页并查看它是否有效。有些东西可能与之冲突。 我已经写过,如果我不设置 WebViewClient,并且只是加载 url,那么它就像魅力一样工作。 有趣的是你的解决方案吗? 【参考方案1】:调整代码后,似乎是用户代理问题,似乎将其更改为桌面用户代理可以解决此问题:
WebView web = (WebView)findViewById(R.id.webView1);
web.getSettings().setUserAgentString("Mozilla/5.0 (Macintosh; " +
"U; Intel Mac OS X 10_6_3; en-us) AppleWebKit/533.16 (Khtml, " +
"like Gecko) Version/5.0 Safari/533.16");
String url = "http://mobile.twitter.com/pawan_rathore88";
web.loadUrl(url);
【讨论】:
抱歉,它正在加载桌面网页。不适用于移动设备。【参考方案2】:目前这是 twitter 的一个问题,并且在所有 web kit 移动浏览器中都失败了。
【讨论】:
Android 浏览器扩展了 WebKit 的基本功能。停止假设这么多 Pawan,做一些研究。【参考方案3】:这也是我的问题。加载桌面版非常好,但不是移动版。如果在默认浏览器上运行,则移动版正常运行。我认为问题在于用户字符串代理的性能不佳。但是现在找不到了。
【讨论】:
以上是关于在 Android WebViewClient 中获取空白页的主要内容,如果未能解决你的问题,请参考以下文章
HTTP状态码webview android, WebViewClient
使用 Android WebViewClient 启用特定 SSL 协议
Android WebView 在添加 WebViewClient 时忽略 target="_blank"
Android - 在 AsyncTask 中设置 WebViewClient 会导致 NullPointerException