- 1、本文档共4页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
iOS 4.2支持HTML5新特性
iOS 4.2支持HTML5新特性
iOS4.2支持HTML5新特性是本文要介绍的内容,在这不多收,我们直接进入话题。据说
iOS 4.2发布了,所有的iPhone,iPod、iPad啥的,都可以免费更新。令人欣慰的是,这个
版本的iOS对HTML5新特性的支持有比较大的升级,其中包括对WebSockets和加速器
(Accelerometer)的支持,新的event、支持打印、新的JavaScript 数据类型和更好的SVG
支持。
事实上,Apple还没有更新Safari文档。这里的信息只是基于在Safari(注:文中的Safari
指iOS移动设备中的Safari浏览器,不包括PC和Mac机中的Safari)自身的JavaScript研究和
测试上。具体来说,检测到的新特性如下:
通过DeviceOrientation API支持加速器
HTML5 WebSocket API
HTML5 表单支持增强
打印支持
新的JavaScript 数据类型
新DOM事件
增强对SVG和Canvas的支持
加速器支持
或许你已经知道,iOS设备都有加速传感器(还有其它的,比如磁力及和陀螺仪),但是
直到现在,网页开发者没有操作这些传感器的权限。Safari现在支持 DeviceOrientation
API(W3C草案),不过,虽然看起来全部的API都是被支持的(包括ondeviceorientation 和
ondevicemotion事件),但是在测试中,我只能成功的使用加速器的数据。
如果你已经有了iOS 4.2的设备,可以用Safari浏览器访问 ad.ag/jtjdmj 自行测试。
要想检测每秒钟50次加速计数据变化,你需要在window全局对象监听ondevicemotion
事件,然后在DeviceOrientationEvent参数上使用accelerationIncludingGravity属性。它
有三个值:x、y和z,分别代表每个坐标上的加速度g (gravity,重力)。你可以将加速计数
用于游戏,效果或者CSS动画中。
window.ondevicemotion = function(event) {
// event.accelerationIncludingGravity.x
// event.accelerationIncludingGravity.y
// event.accelerationIncludingGravity.z
}
WebSockets
另一个大更新是对WebSockets的支持。WebSockets是一个尚处于草案状态的W3C HTML5
API,允许JavaScript使用一种开放的双向、双全工连接到一台服务器,通过TCP sockets。
这对于聊天和实时应用来说是一个非常好的消息,因为可以大大减少AJAX周期性调用。
你将需要一台能够通过一种HTTP握手理解新的WebSocket协议的服务器。如果服务器不
支持WebSocket或者由于代理/网关的原因,你将还要依赖一种fallback机制。
HTML5表单支持
其实webkit对HTML5表单的支持相对已经比较不错,现在iOS 4.2的Safari开始支持
required属性以及 :invalid CSS伪类。这样的话,下面的代码将展示一个文本框在输入正
确的时候显示绿色背景,而不正确的时候显示黄色背景。
style
input {
background-color: green;
color: white;
}
input:invalid {
background-color: yellow;
}
/style
input type=“text” requiredAJAX2
名为FormData对象,这允许我们很方便的通过Ajax发生表单数据。
打印支持
iOS4.2引入了 AirPrint,一种无限打印方案。也就是说,我们现在可以使用
window.print 来在Safari中调用打印对话框了。
新的JavaScript 数据类型
Safari现在支持 二进制类 (BlobClass)和许多整数类型的集合,比如 Float32Array,
Int8Array,Ui
文档评论(0)