在 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

如何从不在 Android 的 API 26 上的 WebView 获取 WebviewClient 实例?

Android WebViewClient 回调调用过于频繁