【问题标题】:android mobile twitter page in webview not opening?webview中的android移动twitter页面没有打开?
【发布时间】:2019-01-28 20:05:31
【问题描述】:

我正在尝试在 android 中打开以 webview 中的 https 开头的 twitter 页面。但它没有打开,并且持续加载时出现空白屏幕。屏幕截图如下

编辑: 在主网页视图中,我有指向 Twitter 页面 https://twitter.com/mytwitterpage 的链接。单击该链接时,twitter url 正在 webview 中打开。我注意到 WebViewClient 的 onPageFinished 方法被调用了 2 次,一次是 https://twitter.com/mytwitterpage,第二次是 https://mobile.twitter.com/#!/mytwitterpage。

有人知道这里有什么问题吗?

提前致谢。

【问题讨论】:

  • 可能是网速导致这个问题。
  • 我认为这里的网速不是问题,因为我搜索过互联网,很多人都遇到过这个问题。
  • 您是否通过调用 WebView.setJavaScriptEnabled(true) 为 web 视图启用了 JavaScript?默认情况下它是禁用的,看起来这个网站对我来说依赖于 js。
  • @alextsc 是的,我已经写了这个 webView.getSettings().setJavaScriptEnabled(true)。

标签: android android-webview


【解决方案1】:

通过在我的代码中添加以下行来完成

webView.getSettings().setUserAgentString("Mozilla/5.0 (Linux; U; Android 2.0; en-us; Droid Build/ESD20) AppleWebKit/530.17 (KHTML, like Gecko) Version/4.0 Mobile Safari/530.17");

我是从 stackoverflow Problems loading mobile.twitter in webview 的这篇文章中得到的。

【讨论】:

    【解决方案2】:
    wv.getSettings().setDomStorageEnabled(true);
    

    这对我有用!

    【讨论】:

    • 完美运行并且不会改变页面的呈现(anujprashar 的回答并非如此)
    【解决方案3】:

    您正在访问 https:// 页面吗?如果是这样,请尝试在您的 webview 上设置 WebViewClient 并覆盖 onReceivedSslError 并查看是否有问题。

    Twitter 最近更改了一些证书内容,如果您访问 twitter.com/... 尝试访问 api.twitter.com/...

    【讨论】:

    • 我重写了该方法,我没有看到任何错误,而且我通过单击链接而不是直接提供 url 打开 twitter 页面。我已编辑问题,请检查。
    • 可以在设备浏览器中打开网址吗?
    • 是的,它是在手机浏览器中打开的。我在地址栏中输入twitter.com/mytwitterpage,最初像上面的屏幕截图一样出现黑屏3-4秒,在url更改为mobile.twitter.com/#!/mytwitterpage并在浏览器中打开页面之后。
    • 感谢您的提示,这是我的情况,我收到“主要错误:3”。这仅适用于 Android 1.6,更高版本可以正常工作。知道为什么会这样吗?
    【解决方案4】:

    只需在 webview 下方添加此代码。它解决了我的问题。

    webView.getSettings().setJavaScriptEnabled(true);
    webView.addJavascriptInterface(this, "TwitterDownloader");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2011-10-23
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-11-17
      • 2012-06-21
      • 2017-06-30
      相关资源
      最近更新 更多