- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
当我尝试在 Webview 中加载以下 url 时,我得到的只是带有加载微调器的黑色 Twitter 背景。在调用 WebViewClient.onPageFinished
时加载页面。但是,该页面在标准 Android 浏览器中加载正常。
https://twitter.com/#!/scottyab or https://mobile.twitter.com/#!/scottyab
我认为 Twitter 更改了他们的移动网站,因为它在大约一个月前就可以正常工作了。还有其他人遇到这个吗?
更新:启用 javascript mWebView.getSettings().setJavaScriptEnabled(true);
最佳答案
那些确实是肮脏的技巧。更改用户代理确实是一个令人讨厌的解决方案,不应该永远这样做。在 web View 中加载 twitter.com 时,您最好尝试那里给出的代码 fragment : https://stackoverflow.com/a/6625418/162178
对于懒惰的答题器,我会在这里给出:
webView.getSettings().setDomStorageEnabled(true);
所有学分都归功于 gregm,他提供了这个 :)
编码愉快!
编辑:只是一个小更新来证明这个选择的合理性,用户代理旨在为访问的站点提供有关谁是客户的信息。如果有一天 Twitter 专门针对 Android 做出特殊更改,他们一定会使用 User Agent 来实现这一点。如果您告诉他们您的 iPhone 或其他任何东西,您可能永远不会被重定向,或者更简单地说,永远不会获得专门用于 Android 的 css。
而且在一个更具政治性的问题上,如果每个人都更改它的用户代理,网站统计数据将是错误的,他们可能永远看不到有很多 Android 访问他们的网站。 ^^(也许考虑对他们的网站进行适当的更新)。这整件事不仅适用于 Twitter 网络客户端。所以要友善。
本杰明的回答 here似乎很好(如果我是正确的,使用 Java 的反射使其向后兼容)
所以不要再次更改用户代理,这对您的应用和网络健康非常不利。并且应该简单地禁止任何代码。谢谢:)
关于android - 在 webview 中加载 mobile.twitter 时出现问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6856814/
我正在开发一个需要能够平均三个数字的 Facebook 应用程序。但是,它总是返回 0 作为答案。这是我的代码: $y = 100; $n = 250; $m = 300; $number = ($y
我只是无法弄清楚这一点,也找不到任何对我来说有意义的类似问题。我的问题:我从数据库中提取记录,并在我的网页上以每个面板 12 条的倍数显示它们。因此,我需要知道有多少个面板可以使用 JavaScrip
我是一名优秀的程序员,十分优秀!