移动网站开发:标记语言(2)
发布时间:2010-06-08 13:42:00
基于XHTML
XHTML Basic为针对移动网站的标记语言提供基础的模块。与其基础的XML一样,它也被设计用于扩展。这正好结合了WAP和NTT的合并之后(也就是OMA)的做法,他们创建了cHTML和WML的继承者XHTML Mobile Profile——它在XHTML Basic的基础上添加了一些在它们之前的版本中有的特性。XHTML Basic和XHTML MP共存的状况看起来有些混乱,但是之后不久W3C就发布了XHTML 1.1版本,吸收了在XHTML MP中加入的一些特性。所以现在看来这两个版本差不多是一样的,至于使用哪个很多时候只是看个人喜好了。这里我们选择XHTML Basic,因为它是W3C推荐的…。
开始使用XHTML Basic
由于XHTML Basic是XHTML的一个子集,如果你已经了解XHTML的开发,那么开始制作XHTML Basic的页面就手到擒来了。
以下为引用的内容: <?xml version="1.0" encoding="utf-8"?> |
是的,只是加了个XML的头声明,然后使用xhtml basic的DTD。
XHTML Basic 支持的模块
模块 | 元素/属性 |
---|---|
结构 | html, head, title, body |
文字 | abbr, acronym, address, blockquote, br, cite, code, dfn, div, em, h1, h2, h3, h4, h5, h6, kbd, p, pre, q, samp, span, strong, var |
链接 | a |
列表 | dl, dt, dd, ol, ul, li |
表单 | button, fieldset, form, input, label, legend, select, optgroup, option, textarea |
表格 | aption, table, td, th, tr |
图片 | img |
对象 | object, param |
表现 | b, big, hr, i, small, sub, sup, tt |
元信息 | meta |
链接 | link |
base | base |
事件 | onblur, onfocus, onload, onunload, onreset, onsubmit, onchange |
脚本 | script, noscript |
样式 | 支持style元素 |
样式属性 | 支持style属性 |
目标 | 支持target属性 |
不支持的内容:
不支持外部CSS文件
不支持嵌套table;
不支持thead、tbody、tfood等;
不支持name属性;
不支持框架;
不支持del、ins、basefont、center、dir、font、isindex、menu、sstricke、u等元素。
注意事项:
对事件的支持依赖具体的浏览器支持,有些浏览器不一定支持这些事件;
webkit支持更多的事件
opera mini由于是基于自己的代理服务器,有些事件是不支持的,详见:JavaScript support in Opera Mini 4
XHTML MP
正如之前提到的,XHTML MP是对XHTML Basic的一个扩展,所以XHTML MP有更好的适用性。而XHTML MP对于Basic最大的优势就是支持外部样式文件——虽然这会导致多一个HTTP请求。
这里是一份关于XHTML MP和XHTML basic的对比表。
PS:事实上,WAP 2.0也就是XHTML MP,也就是说,WAP 2.0与WAP 1.0关系不大。
兼容性与现状
根据W3C的统计,现在绝大部分手机都支持WAP 2.0了,使用WAP 1.0的设备已经非常的少了;
根据观察,绝大多数网站的移动版本,都是采用XHTML MP规范;
大部分网站使用内联样式表,而不是外部样式文件;
非常多的Mobile版本页面采用table布局;
Opera mini可以在所有支持java的手机上使用,而Opera mini支持全部的(X)HTML特性。
所以,如果你想要开发一个移动版的网站,可以放心的使用XHTML Basic 1.1 /MP。
HTML5
Mobile Webkit是目前对标准支持最好的移动浏览器,它支持所有的XHTML特性,同时对HTML5的支持也非常棒。如果你的项目只针对iPhone 和(或) Android,完全可以使用HTML 5来编码。
事实上作为又一个很强劲的趋势,HTML 5众望所归要成为下一代的网页标准,Google、apple、opera和微软等互联网巨头一直在努力推广和推进HTML 5。opera认为HTML 5是统一移动互联网的关键。
总结与展望
正如之前所说的,XHTML basic支持了大部分在XHTML中定义的基础特性,所以对于大部分前端开发人员来说,开发一个基于XHTML Basic 1.1或XHTML MP的网站并不困难。但是由于移动设备厂商和设备都非常的多,所以各个设备在对某个细节上可能会有差异。
W3C存在的最大价值,是为我们提供成熟而统一的解决方案,虽然XHTML MP成了事实上的Mobile 标准,但是显然XHTML Basic功不可没,如果说两者并存尚容易让我们混淆的话,希望在不久的将来,HTML 5能够成为移动互联网中事实上的标准,这无疑将大大减少我们的开发需求。
但是由于现实中很难将所有的设备统一,这就造成实现方式的必然存在差异。可以预见,XHTML Basic /MP和HTML 5将成为两种并行的规范存在,我们不得不用XHTML Basic/MP为低端设备开发基础页面,同时使用HTML 5为iPhone和Android等系统实现富界面。
整理自:Mobile markup – XHTML Basic 1.1
参考:
XHTML MP (XHTML Mobile Profile) Introduction
http://www.w3.org/TR/xhtml-basic/


猜你喜欢
- 使用微信获取地址信息是和微信支付一道申请的,微信支付申请通过,就可以使用该功能。微信商城中,使用微信支付获取用户的收货地址,可以省略用户输入
- MySQL 自4.1版以后开始支持INSERT … ON DUPLICATE KEY UPDATE语法,使得原本需要执行3条SQL语句(SE
- 在写Python的时候经常会遇到时间格式的问题,首先就是最近用到的时间戳(timestamp)和时间字符串之间的转换。所谓时间戳,就是从 1
- key_len的含义在MySQL中,可以通过explain查看SQL语句所走的路径,如下所示:mysql> create table
- 效果如下所示:# -*- coding: utf-8 -*-import turtle# 绘制太极图函数def draw_TJT(R):&n
- 先来说eval的用法,内容比较简单,熟悉的可以跳过eval函数接收一个参数s,如果s不是字符串,则直接返回s。否则执行s语句。如果s语句执行
- 前言相信大家可能曾遇到过这种情况,在开发中类似站内信的需求时,我们经常要使用字符串模板,比如尊敬的用户${name}。。。。里面的${nam
- 搜索答案搜索不到,自己试了一把.首先生成一维数组a =np.array([1,2,3,4,5,6,7,8,9])>>> p
- 1.MyBatis简介与配置MyBatis+Spring+MySql1.1MyBatis简介
- 说明相应的学习视频见链接,本文只对重点进行总结。多进程重点(只要看下面代码的main函数即可)1.创建2.如何开守护进程3.多进程,开销大,
- 正在看的ORACLE教程是:自动备份Oracle数据库。
- 简单版本学生信息管理系统,用python基础语法实现,基于python 3.6容错率很高的代码,做了很多异常处理功能,出错也不会丢失信息启动
- 不能将 SQL Server 2000 日志传送配置升级到 SQL Server 2008。数据库维护计划向导是 SQL Server 20
- 我们有时候会需要在网上查找并下载图片,当数量比较少的时候,点击右键保存,很轻松就可以实现图片的下载,但是有些图片进行了特殊设置,点击右键没有
- 简介使用Pandas的pivot方法可以将DF进行旋转变换,本文将会详细讲解pivot的秘密。使用Pivotpivot用来重组DF,使用指定
- 前言本节我们讲讲一些简单查询语句示例以及需要注意的地方,简短的内容,深入的理解。EOMONTH在SQL Server 2012的教程示例中,
- Progressbar 基本概念Progressbar 可以解释为进度条,主要是当做一个工作进度的指针,在这个控件中会有一个指针,由此指针可
- 前言Vue 原本有一个官方推荐的 ajax 插件 vue-resource,但是自从 Vue 更新到 2.0 之后,官方就不再更新 vue-
- 还是分析一下大体的流程:首先还是Chrome浏览器抓包分析元素,这是网址:https://www.douyu.com/directory/a
- 目录1. 反向引用_命名分组2. 正则函数小提示:总结1. 反向引用_命名分组# ### 反向引用import restrvar = &qu