【发布时间】:2011-01-28 02:02:20
【问题描述】:
我正在开发 Web 应用程序(C# MVC 应用程序),其中视图引擎在检测到移动浏览器时呈现不同的视图页面。特别是我的目标是 Android 网络工具包浏览器(在 Froyo 上)。奇怪的是页面确实在 iPhone 上正确呈现。
问题是,当我在模拟器上进行本地测试时,它呈现良好,如果我在桌面上使用 Chrome,它呈现良好......但是,当我在实际手机(Nexus 1 和 MyTouch)上测试时,标记是被忽略,所有文本节点都呈现为文本。使用 HTML5 DOCTYPE(即使使用最简单的标记)会发生这种情况。如果我在标签中插入一个 xmlns 属性(xmlns="http://www.w3.org/1999/xhtml"),它会注意标记,但这会带来它自己的一系列问题(最具体地说,它似乎不使用 JQuery Moblie),我更愿意省略命名空间。
另外,就像在黑暗中拍摄一样,我明确地将内容类型设置为 text/html 以查看是否有帮助,但没有运气。我说我是用 C# 写的,但 Web 服务器是 IIS,相信大家都明白了。
即使是这个简单的标记也不起作用:
<html>
<head>
<title>html5 test for android</title>
</head>
<body>
<h1>h1 markup</h1>
<h2>h2 markup</h2>
<p>this is a paragraph of text</p>
</body>
</html>
我是移动网络开发领域的新手 - 所以我希望这是一个如此简单和无脑的问题,除了我之外的每个人都知道(这就是为什么我没有运气找到任何方向网络)。
感谢您的帮助!
【问题讨论】:
-
一个示例 http 响应文本会很有用(页面源和 http 标头的纯文本。)
-
看看编码 - 现在你应该使用 utf8。
-
我在服务器响应中专门将内容类型设置为“text/html”,并将编码设置为 UTF-8——但这并没有什么不同。使用我在上面的帖子中包含的标记,浏览器会输出一行纯文本,显示浏览器中包含的所有文本(无标记)。从服务器返回的 HTML 与帖子中的内容相同。我不知道查看返回到 android 浏览器的 http 标头的好方法(有什么建议吗?)
标签: android html mobile jquery-mobile