国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 開發(fā) > HTML5 > 正文

iOS4.2對支持HTML5新特性

2024-09-05 07:18:31
字體:
供稿:網(wǎng)友
文章整理自 Safari on iOS 4.2: Accelerometer, WebSockets, SVG, AJAX2 & better HTML5 support

嗯,據(jù)說iOS 4.2發(fā)布了,所有的iPhone,iPod、iPad啥的,都可以免費更新。令人欣慰的是,這個版本的iOS對HTML5新特性的支持有比較大的升級,其中包括對WebSockets和加速器(Accelerometer)的支持,新的event、支持打印、新的JavaScript 數(shù)據(jù)類型和更好的SVG支持。

事實上,Apple還沒有更新Safari文檔。這里的信息只是基于在Safari(注:文中的Safari指iOS移動設(shè)備中的Safari瀏覽器,不包括PC和Mac機中的Safari)自身的JavaScript研究和測試上。具體來說,檢測到的新特性如下:

通過DeviceOrientation API支持加速器 HTML5 WebSocket API HTML5 表單支持增強 打印支持 新的JavaScript 數(shù)據(jù)類型 新DOM事件 增強對SVG和Canvas的支持加速器支持

或許你已經(jīng)知道,iOS設(shè)備都有加速傳感器(還有其它的,比如磁力及和陀螺儀),但是直到現(xiàn)在,網(wǎng)頁開發(fā)者沒有操作這些傳感器的權(quán)限。Safari現(xiàn)在支持 DeviceOrientation API (W3C草案),不過,雖然看起來全部的API都是被支持的(包括ondeviceorientation ondevicemotion事件),但是在測試中,我只能成功的使用加速器的數(shù)據(jù)。

如果你已經(jīng)有了iOS 4.2的設(shè)備,可以用Safari瀏覽器訪問 ad.ag/jtjdmj 自行測試。

要想檢測每秒鐘50次加速計數(shù)據(jù)變化,你需要在window全局對象監(jiān)聽ondevicemotion事件,然后在DeviceOrientationEvent參數(shù)上使用accelerationIncludingGravity屬性。它有三個值:x、y和z,分別代表每個坐標上的加速度g (gravity,重力)。你可以將加速計數(shù)用于游戲,效果或者CSS動畫中。

window.ondevicemotion = function(event) {// event.accelerationIncludingGravity.x// event.accelerationIncludingGravity.y// event.accelerationIncludingGravity.z} WebSockets

另一個大更新是對WebSockets的支持。WebSockets是一個尚處于草案狀態(tài)的W3C HTML5 API,允許JavaScript使用一種開放的雙向、雙全工連接到一臺服務(wù)器,通過TCP sockets。這對于聊天和實時應(yīng)用來說是一個非常好的消息,因為可以大大減少AJAX周期性調(diào)用。

你將需要一臺能夠通過一種HTTP握手理解新的WebSocket協(xié)議的服務(wù)器。如果服務(wù)器不支持WebSocket或者由于代理/網(wǎng)關(guān)的原因,你將還要依賴一種fallback機制。

HTML5表單支持

其實webkit對HTML5表單的支持相對已經(jīng)比較不錯,現(xiàn)在iOS 4.2的Safari開始支持 required屬性以及 :invalid CSS偽類。這樣的話,下面的代碼將展示一個文本框在輸入正確的時候顯示綠色背景,而不正確的時候顯示黃色背景。

<style>input {background-color: green;color: white;}input:invalid {background-color: yellow;}</style><input type="text" required>AJAX2

名為FormData對象,這允許我們很方便的通過Ajax發(fā)生表單數(shù)據(jù)。

打印支持

iOS4.2引入了 AirPrint,一種無限打印方案。也就是說,我們現(xiàn)在可以使用 window.print 來在Safari中調(diào)用打印對話框了。

新的JavaScript 數(shù)據(jù)類型

Safari現(xiàn)在支持 二進制類 (Blob Class)和許多整數(shù)類型的集合,比如 Float32Array,Int8Array,Uint8Array,Int16Array Unit16Array,Int32Array以及Uint32Array等在Typed Arrays規(guī)范中定義的數(shù)組。更多信息可訪問 Firefox 網(wǎng)站。

新DOM事件

在新的動作類事件中,我們現(xiàn)在可以使用HTML 5新的 onhashchange事件用于檢測AJAX類webapp中URL中散列(#)之后的變化,以及HTML5草案規(guī)范中的invalidonbeforeload 以及onpopstate事件。

現(xiàn)在,我們也可以使用window.captureEventswindow.releaseEvents來監(jiān)聽全局方法中的事件。

SVG和Canvas支持增強

iOS支持作為獨立文件的SVG以及內(nèi)聯(lián)SVG(使用svg標簽)。現(xiàn)在我們可以直接在我們的文檔中創(chuàng)建SVG文檔——使用超過20個SVG___類,比如SVGDocument,SVGImage等…

對于Canvas,現(xiàn)在支持imageData data-type,一種從JavaScript以像素級操作圖片的方法。

其它東東 支持window全局對象的一個styleMedia屬性 一種WebGLRenderingContext類可用,3D Drawing API(也就是WebGL)的一部分。 一個全局RGBColor構(gòu)造函數(shù)

PS:由于我本人并沒有iPhone、iPad啥的,所以沒有辦法對文中的內(nèi)容進行逐個測試,如果你發(fā)現(xiàn)了某些錯誤或者新的內(nèi)容,請通過留言提交,我會及時更新本文,多謝——神飛

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 新绛县| 元阳县| 乌拉特后旗| 镶黄旗| 巩留县| 麻栗坡县| 巫山县| 成武县| 孝义市| 正蓝旗| 乐亭县| 武乡县| 宁波市| 正蓝旗| 方正县| 满城县| 潞城市| 清河县| 青海省| 策勒县| 宣恩县| 同江市| 城固县| 连城县| 巴楚县| 金湖县| 汝城县| 玛沁县| 广平县| 巩留县| 安顺市| 即墨市| 郁南县| 鹰潭市| 石狮市| 西华县| 黄大仙区| 乌兰察布市| 洱源县| 西和县| 阿拉善右旗|