HTML5 APIs程式設計師指南

2021-06-03 11:29:07 字數 2933 閱讀 8391

rich clark是一位html5專家,他非常了解html5規範中的apis,這篇文章中,他將介紹這些apis的用途以及最新進展情況。

有關html5中的語法元素相信大家已經看到過不少介紹了,但是關於html5的apis的介紹就不那麼常見了,而html5規範主要就是由這些apis構成的。

除了規範中介紹的apis以外,還有一些相關的apis也遵循了html5的標準,並常常也聲稱自己是html5的api。有些apis已經被採用了一段時間了,但是仍然沒有被明確列入規範之中,而有些html5則著手準備對其進行改進。

首先看看w3c的html5規範中的apis。

pause()load()以及canplaytype()這些方法。許多方法不僅可以使用多**型別屬性,還可以使用許多其他的屬性(例如poster)、語言language)、狀態readystate)、模式mode)和標籤label)。

當瀏覽器使用本地字幕時,這個api就派上用場了,webvtt就是乙個很好的例子。你還可以快速瀏覽以下這些資源:

拖放api一直受到很多關注。它最初是由microsoft的ie5推出的,現在firefox,safari 和chrome都已經支援這一功能了。那麼這個api究竟是做什麼的呢?

就像它的名字所說的,這個api在瀏覽器中實現本地的拖放功能。只需要將乙個可拖放屬性設定為true,使用者就可以移動瀏覽器中任意乙個元素了。你還可以目標區域加入一些事件控制代碼,用來告訴瀏覽器哪些區域能夠放置使用者拖放的元素。

如果不侷限在瀏覽器內部看這一功能,這個api的作用將更加凸顯。使用拖放api,使用者可以將桌面上的一副影象直接拖入瀏覽器中,或是將瀏覽器中的乙個新建圖示拖到桌面上,並且能夠自動載入相應的內容資訊形成乙個新的應用程式快捷方式。

下面的文章更加深入地介紹了這一拖放功能。

應用程式快取功能是通過乙個簡單的列表檔案實現的,該檔案列出了應用程式離線工作所需的檔案。這樣發布者就能夠確保他們的**可以支援離線訪問了。這個列表檔案能夠引導瀏覽器保留乙份檔案的副本,這樣使用者下次就可以離線訪問這些內容了。當使用者沒有連入網路時,瀏覽器就將本地的副本顯示給使用者。理論上講,即使是在地鐵或是其他網路不佳的環境下,你也能完成郵件編寫工作了,甚至還可以玩web版的憤怒小鳥。

現在瀏覽器已經對這一功能有了很好的支援,尤其是在移動領域(firefox, safari, chrome, opera, iphone, 和android),你現在就可以使用這一功能了。下面是一些相關的資料:

let's take this offline, dive into html5, mark pilgrim

get off(line), web directions, john allsopp

和離線功能一樣,ui也是html5核心標準的一部分。其中有些功能有必要在這裡提一提,比如contenteditable瀏覽器的後退按鈕是乙個使用非常頻繁的工具。html5的歷史api(history api)可以幫助開發者管理使用者的瀏覽器會話的歷史狀態。

html5以前的歷史api只是幫使用者回到之前的頁面或是之後的頁面,以及檢查歷史資訊的長度。而html5則加入了增刪使用者歷史資訊的方法,可以儲存部分資料用於重構乙個頁面狀態,或是更新url時無需重新整理頁面。這個api使用起來非常簡單,並且可以用它開發非常複雜的應用程式。

這個api允許**將自己註冊成為一些方案的處理程式。下面是乙個使用了registerprotocolhandler方法的例子:

smstelirc這類方案被列入白名單。**還可以使用registercontenthandler方法將自己註冊為特定內容的處理程式。

想要了解mime型別和協議處理程式註冊方法,可以先看看html5規範。

現在,已經介紹過w3c和whatwg兩個版本html5協議中共有的一些標準了。接著將介紹一些附加的apis,這些apis被whatwg收錄在正式的協議文件中,而w3c則將他們細分為一些更加易於管理的協議。這兩個版本中的apis用途和主要內容都是相同的。

由於篇幅的限制,這裡不會將所有與html5相關的apis都列舉出來。其中一些常常被誤以為是html5標準apis的內容有地理位置(geolocation),索引資料庫(indexed db),選擇器(selectors),以及檔案系統api(filesystem api)。

w3c成員mike smith編著了乙個全方位介紹web平台和瀏覽器技術的綜合列表,非常值得一讀。

文章之前提到了部分apis目前得到瀏覽器支援的情況,但是瀏覽器對apis的支援是在不斷變化的,想要了解最新的進展,可以檢視caniuse。如果你發現有些apis目前瀏覽器尚不支援,也不必灰心。這裡還有乙個補充功能用來幫助你模擬本地行為。可以檢視html5 cross browser polyfills了解這一功能。

可以看看remy sharp的

html5 demos,通過檢視這些原始碼進一步了解文章介紹的apis。

這裡只是粗略地介紹了一下這些非常有用而且功能強大的apis。如果想要更加深入地了解這些apis的細節,你需要通過**去學習。這將給你帶來不一樣的體驗。有些apis目前還沒有完全成熟,希望這篇文章能夠讓你對此更加有興趣,並對這些將加入到瀏覽器中的功能更感興趣。

程式設計師健康指南

程式設計師常見的健康問題與相應的解決方法 身體 腦子 長時間壓力用腦 解決 1 釋放壓力,放鬆自己,調整心態 2 按時按壓太陽穴,敲鼓 3 每天乙個雞蛋,核桃,維c水果 4 早睡早起 眼睛 長時間看電腦導致酸,乾澀,疲憊 解決 1 按時眼保健操,眺望遠方 2 放綠色植物 3 調整螢幕亮度,色度,貼保...

程式設計師健身指南

日常好的蛋白質 主要是那些脂肪含量少 蛋白質含量多的動物蛋白。比如豬牛里脊 後腿肉 去皮禽類等瘦肉,魚蝦貝,雞蛋 蛋白質更能讓人產生飽腹感。主食方面減少精公尺麵的攝入,增加粗糧,提高粗纖維攝入量 平時吃 低gi碳水為主,避免血糖大幅波動,抗餓,防止暴飲暴食 運動後 高gi碳水為主,促進胰島素分泌,幫...

程式設計師相親指南

發現網上有不少同名文章,不過還好,我和他們說的不是一回事。php程式設計師,經常自嘲是拍黃片的,因為漢語拼音縮寫一致,問題是,你圈子內開開玩笑就算了,面對並不熟悉的姑娘,開這麼冷門的玩笑,實在是非常低情商的行為,不要說絕大部分女孩不了解這個梗,就算人家知道這個梗的背景,我覺得拉黑他也一點不冤枉。舊文...