iOS 4.2支持HTML5新特性

移动开发 iOS
本文介绍的是iOS 4.2支持HTML5新特性,对于html5,或许也了解了一点,先来看本文介绍。

iOS 4.2支持HTML5新特性是本文要介绍的内容,在这不多收,我们直接进入话题。据说iOS 4.2发布了,所有的iPhone,iPod、iPad啥的,都可以免费更新。令人欣慰的是,这个版本的iOSHTML5新特性的支持有比较大的升级,其中包括对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动画中。

  1.  window.ondevicemotion = function(event) {  
  2. // event.accelerationIncludingGravity.x  
  3. // event.accelerationIncludingGravity.y  
  4. // event.accelerationIncludingGravity.z  
  5. }  

WebSockets

另一个大更新是对WebSockets的支持。WebSockets是一个尚处于草案状态的W3C HTML5 API,允许JavaScript使用一种开放的双向、双全工连接到一台服务器,通过TCP sockets。这对于聊天和实时应用来说是一个非常好的消息,因为可以大大减少AJAX周期性调用。

你将需要一台能够通过一种HTTP握手理解新的WebSocket协议的服务器。如果服务器不支持WebSocket或者由于代理/网关的原因,你将还要依赖一种fallback机制。

HTML5表单支持

其实webkit对HTML5表单的支持相对已经比较不错,现在iOS 4.2的Safari开始支持 required属性以及 :invalid CSS伪类。这样的话,下面的代码将展示一个文本框在输入正确的时候显示绿色背景,而不正确的时候显示黄色背景。

  1. <style> 
  2. input {  
  3. background-color: green;  
  4. color: white;  
  5. }  
  6. input:invalid {  
  7. background-color: yellow;  
  8. }  
  9. </style> 
  10. <input type="text" required>AJAX2 

名为FormData对象,这允许我们很方便的通过Ajax发生表单数据。

打印支持

iOS4.2引入了 AirPrint,一种无限打印方案。也就是说,我们现在可以使用 window.print 来在Safari中调用打印对话框了。

新的JavaScript 数据类型

Safari现在支持 二进制类 (Blob Class)和许多整数类型的集合,比如 Float32Array,Int8Array,Uint8Array,Int16Array Unit16Array,Int32Array以及Uint32Array等在Typed Arrays规范中定义的数组。更多信息可访问 Firefox 网站。

新DOM事件

在新的动作类事件中,我们现在可以使用HTML 5新的 onhashchange事件用于检测AJAX类webapp中URL中散列(#)之后的变化,以及HTML5草案规范中的invalid、onbeforeload 以及onpopstate事件。

现在,我们也可以使用window.captureEvents和window.releaseEvents来监听全局方法中的事件。

SVG和Canvas支持增强

iOS支持作为独立文件的SVG以及内联SVG(使用svg标签)。现在我们可以直接在我们的文档中创建SVG文档——使用超过20个SVG___类,比如SVGDocument,SVGImage等…

对于Canvas,现在支持imageData data-type,一种从JavaScript以像素级操作图片的方法。

其它东东

支持window全局对象的一个styleMedia属性

g API(也就是WebGL)的一部分。

一个全局RGBColor构造函数

小结:关于iOS 4.2支持HTML5新特性的内容介绍完了,希望本文对你有所帮助,更多相关内容请参考编辑推荐。

责任编辑:zhaolei 来源: 互联网
相关推荐

2012-05-01 22:15:18

HTML5

2011-12-05 14:49:55

HTML5傲游

2011-06-20 12:07:05

HTML 5

2012-04-23 13:43:02

HTML5浏览器

2011-04-22 15:02:19

HTML5Dojo

2014-12-03 10:21:50

HTML5

2018-01-31 08:49:44

2011-08-11 14:33:13

加密RSA虚拟化

2009-12-24 13:30:51

Fedora Core

2012-05-16 09:27:53

Chrome浏览器

2011-08-30 09:07:30

HTML 5

2021-03-30 14:50:41

前端TypeScript 命令

2011-10-13 16:01:22

F5Oracle DataOracle WebL

2009-09-03 15:22:05

RHEL5内存红帽

2011-03-07 12:31:54

Filezilla

2011-06-20 10:21:29

Chrome 13

2011-11-09 10:05:26

HTML 5

2011-07-12 13:21:34

2020-10-09 11:02:46

HTML5 特性

2014-03-18 09:20:17

HTML5移动开发
点赞
收藏

51CTO技术栈公众号