【问题标题】:Android webview shows url source instead of loading the url normallyAndroid webview显示url源而不是正常加载url
【发布时间】:2011-07-15 11:04:14
【问题描述】:

我有一个 Activity,它基本上是一个带有其他按钮的大型 web 视图。通常,我将 url 加载到 webview,一切正常。但是有一个网站,其中所有 url 都作为源文件而不是普通的 html 加载(浏览器显示包含 html 标签的纯文本)。奇怪的是,使用手机的浏览器,这个 url 加载得很好。

http://pelephone.ynet.mobile1.co.il/default.aspx?N=/ynet/ArticleList.aspx?category=3

也许这与 aspx 文件有关?在我的笔记本电脑中,url 没有加载,而是作为文件下载。但是,手机的浏览器仍然可以很好地处理它。

非常感谢您的帮助!

【问题讨论】:

    标签: android webview android-webview


    【解决方案1】:

    这绝对是 URL 的问题,或者通常是 WML URL 的问题。 提供的 URL 的 MIME 类型是“text/vnd.wap.wml”。 Android不支持, 它将此类页面的来源显示为纯文本。你可以找到相关的代码

    } else if (mMimeType.equals("text/vnd.wap.wml")) {
                // As we don't support wml, render it as plain text
                mMimeType = "text/plain";
    

    in git://android.git.kernel.org/platform/frameworks/base.git/core/java/android/webkit/LoadListener.java(第 375 行)。

    这是正确的框架行为(适用于 WebView)。

    我不知道为什么浏览器会显示,基本上它不应该,也不在这里(用 1.6. 和 2.3 模拟器和我的 2.2. HTC 愿望测试)。你确定你的浏览器有货吗?也许您正在使用其他浏览器,例如 Opera。或者您的供应商/制造商为他们的“高级内容”添加了一些 wap 支持(如果您的手机是品牌的和/或有自定义的东西,比如感觉)。

    【讨论】:

    • 嗨alextsc,非常感谢您的详细回答!我确实有一部 HTC 手机,所以我猜 Sense 层负责浏览器显示内容……我现在尝试在我的 nexus S 上加载相同的网页,它显示的是纯文本,正如你所料。再次感谢您的帮助。
    • 嘿,不客气。如果您认为这是您问题的答案,请将其标记为正确答案。 :)
    猜你喜欢
    • 2016-07-18
    • 1970-01-01
    • 2020-07-21
    • 2018-10-18
    • 2019-05-29
    • 1970-01-01
    • 2013-04-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多