|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
这不是理想状况。我们必须尽可能把精力放在改善这项规范,把耗费在派系相争的精力降到最低。破洛洛文章简介:iOS4.2版safari对HTML5特征撑持更新.
文章收拾自SafarioniOS4.2:Accelerometer,WebSockets,SVG,AJAX2&betterHTML5support
嗯,听说iOS4.2公布了,一切的iPhone,iPod、iPad啥的,都能够收费更新。使人欣喜的是,这个版本的iOS对HTML5新特征的撑持有对照年夜的晋级,个中包含对WebSockets和减速器(Accelerometer)的撑持,新的event、撑持打印、新的JavaScript数据范例和更好的SVG撑持。现实上,Apple还没有更新Safari文档。这里的信息只是基于在Safari(注:文中的Safari指iOS挪动设备中的Safari扫瞄器,不包含PC和Mac机中的Safari)本身的JavaScript研讨和测试上。详细来讲,检测到的新特征以下:
- 经由过程DeviceOrientationAPI撑持减速器
- HTML5WebSocketAPI
- HTML5表单撑持加强
- 打印撑持
- 新的JavaScript数据范例
- 新DOM事务
- 加强对SVG和Canvas的撑持
减速器撑持
也许你已晓得,iOS设备都有减速传感器(另有别的的,好比磁力及和陀螺仪),可是直到如今,网页开辟者没有操纵这些传感器的权限。Safari如今撑持DeviceOrientationAPI(W3C草案),不外,固然看起来全体的API都是被撑持的(包含ondeviceorientation和ondevicemotion事务),可是在测试中,我只能乐成的利用减速器的数据。
假如你已有了iOS4.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是一个尚处于草案形态的W3CHTML5API,同意JavaScript利用一种开放的双向、双全工毗连到一台服务器,经由过程TCPsockets。这关于谈天和及时使用来讲是一个十分好的动静,由于能够年夜年夜削减AJAX周期性挪用。
你将必要一台可以经由过程一种HTTP握手了解新的WebSocket协定的服务器。假如服务器不撑持WebSocket大概因为代办署理/网关的缘故原由,你将还要依附一种fallback机制。
HTML5表单撑持
实在webkit对HTML5表单的撑持绝对已对照不错,如今iOS4.2的Safari入手下手撑持required属性和:invalidCSS伪类。如许的话,上面的代码将展现一个文本框在输出准确的时分显现绿色背景,而不准确的时分显现黄色背景。- <style>input{background-color:green;color:white;}input:invalid{background-color:yellow;}</style><inputtype="text"required>
复制代码 AJAX2
名为FormData工具,这同意我们很便利的经由过程Ajax产生表双数据。
打印撑持
iOS4.2引进了AirPrint,一种无穷打印计划。也就是说,我们如今可使用window.print来在Safari中挪用打印对话框了。
新的JavaScript数据范例
Safari如今撑持二进制类(BlobClass)和很多整数范例的汇合,好比Float32Array,Int8Array,Uint8Array,Int16ArrayUnit16Array,Int32Array和Uint32Array等在TypedArrays标准中界说的数组。更多信息可会见Firefox网站。
新DOM事务
在新的举措类事务中,我们如今可使用HTML5新的onhashchange事务用于检测AJAX类webapp中URL中散列(#)以后的变更,和HTML5草案标准中的invalid、onbeforeload和onpopstate事务。
如今,我们也能够利用window.captureEvents和window.releaseEvents来监听全局办法中的事务。
SVG和Canvas撑持加强
iOS撑持作为自力文件的SVG和内联SVG(利用svg标签)。如今我们能够间接在我们的文档中创立SVG文档——利用凌驾20个SVG___类,好比SVGDocument,SVGImage等…
关于Canvas,如今撑持imageDatadata-type,一种从JavaScript以像素级操纵图片的办法。
别的东东
- 撑持window全局工具的一个styleMedia属性
- 一种WebGLRenderingContext类可用,3DDrawingAPI(也就是WebGL)的一部分。
- 一个全局RGBColor机关函数
PS:因为我自己并没有iPhone、iPad啥的,以是没有举措对文中的内容举行逐一测试,假如你发明了某些毛病大概新的内容,请经由过程留言提交,我会实时更新本文,多谢——神飞
</p>
WHATWG版和W3C版的HTML5规范虽然根源相同,在一些领域却已经产生分歧。 |
|