iphone - 移动:html5 与 xhtml

标签 iphone xhtml blackberry mobile html

<分区>

我正在为大多数用户在 iphone 上(一些在黑莓手机上)构建一个移动应用程序(混合移动网络应用程序,但具有 native 外壳),我想知道它应该用 html5 还是 xhtml 编写?

任何见解都会很棒。

最佳答案

tl;dr:使用 HTML5,因为 text/html XHTML 被解析为 HTML5,而正确的 XHTML 可能会失败。


当前的浏览器实际上不再支持 HTML4 或 XHTML/1.x。他们将所有文档视为 HTML5/XHTML5(例如 <video> 即使您设置 HTML4 或 XHTML/1.x DOCTYPE 也能正常工作)。

您的选择并非真正在 HTML5 和 XHTML 之间,而是在 text/html 之间和 XML解析模式和怪癖和标准渲染模式。浏览器引擎与 W3C 规范的版本不一致。

真正的选择是:

  1. 怪癖与标准模式。 “Quirks”是对 IE5 错误和框模型的仿真。如果你放不下,怪癖会咬人DOCTYPE或使用过时的 DOCTYPE 之一s(如 HTML4 Transitional)。
    显而易见的选择是通过放置(任何)现代 DOCTYPE 来启用标准模式在每个文档中。

  2. text/html对比application/xhtml+xml 。 XML 模式启用了 HTML 中没有的 XHTML 功能(例如 namespace 和所有 元素上的自闭合语法),最重要的是启用了严格的错误处理
    注意:不可能从文档中启用 XML 模式。启用它的唯一方法是通过真正的 Content-Type HTTP header (为此忽略 <meta>DOCTYPE!)

在 WAP 和 XHTML Basic 时代,XML 模式被认为是移动设备的最佳模式,但实际上它是 turned out to be a fantasy!

如果您使用 application/xhtml+xml模式下,许多 GSM 连接用户将完全无法访问您的页面!

主要的移动运营商使用了一些代理软件,至少在我测试过的英国和波兰,它将无效的 HTML 注入(inject)所有看起来像 HTML 的东西,包括正确提供的 XHTML 文档.

这意味着您的格式良好的完美 XHTML 将在传输过程中被破坏,用户只会看到 XML 解析错误。用户将无法就此问题通知您,并且由于标记在您的服务器外部格式不正确,因此您无法修复。

这就是所有 XML 模式(正确提供的 XHTML)页面在 O2 UK 上的样子:

enter image description here

(页面在通过 Wi-Fi 或 VPN 加载时呈现良好,防止移动运营商搞砸标记)

关于iphone - 移动:html5 与 xhtml,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1455796/

相关文章:

java - 如何在触摸编辑字段时自动隐藏虚拟键盘?

html - IE9 中的 XHTML 字体浏览器兼容性

黑莓:程序化 "Add to contacts"

iphone - iTunesConnect 上来自中国的应用程序下载量突然出现奇怪的激增?

iphone - 如何更改表格单元格详细信息披露按钮的颜色

ios - 在应用程序退出时保存变量

iphone - 尝试实现委托(delegate)继承

javascript - 如何在不调整整体宽度的情况下隐藏表格行?

html - <div/> 和 <div></div> 有区别吗?

java - 使用 JSR-226 (Blackberry) 渲染存储在内存中的 SVG