Android WebViewClient 中获取空白页

发布于 2024-12-28 08:00:53 字数 977 浏览 3 评论 0原文

我正在尝试打开 Twitter 链接: http://mobile.twitter.com/pawan_rathore88 在我的活动中。如果我将 WebViewClient 设置为 webview,我会得到空白页面。 但是当我加载 url 而不设置任何 webviewclient 时,它会正确加载页面。 有谁知道可能出现什么问题。以下是我的代码片段。

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");

谢谢, 帕万

I am trying open twitter link : http://mobile.twitter.com/pawan_rathore88
in my activity. If I set WebViewClient to webview I am getting blank page.
But when I load url without setting any webviewclient, it loads page properly.
Does anyone have idea what can be a problem. Following is my code snippet.

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");

Thanks,
Pawan

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

稳稳的幸福 2025-01-04 08:00:53

调整代码后,这似乎是一个用户代理问题,似乎将其更改为桌面用户代理可以解决此问题:

  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);

After tweaking the code around, it seems to be a user agent problem, seems that changing it to a desktop useragent fixes this problem :

  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);
披肩女神 2025-01-04 08:00:53

这是目前 Twitter 的一个问题,并且在所有 Web Kit 移动浏览器中都会失败。

This is a problem with twitter at the moment and fails in all web kit mobile browsers.

一身骄傲 2025-01-04 08:00:53

这也正是我的问题。加载桌面版本非常好,但不是移动版本。如果在默认浏览器上运行,则移动版本正常运行。我认为问题是没有很好地执行用户字符串代理。但现在查不出来。

That is exact my problem too. Load Desktop version very good but not mobile version. If running on default browser, then Mobile version normally run. I think the problem is not well perform user string agent. But cannot find it out now.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文