Html5新特性(個人)部分

2021-08-28 20:06:42 字數 3899 閱讀 4367

web worker

(簡單了解)純表現的元素:basefont、big、center、font等

<–w3c官方文件提出–>

<–簡單彙總–>

新增語義化的標籤: 恰當地描述內容是什麼。【header…】

多**:使videoaudio成為了在所有 web 中的一等公民。

2d/3d 繪圖& 效果:提供了乙個更加分化範圍的呈現選擇(canvas、webgl)。

裝置訪問 device access:能夠處理各種輸入和輸出裝置(觸控事件touch、使用地理位置定位、檢測裝置方向)。

<——分類(簡單)——>

1.多**:audio,video,source,embed,track

2.新表單元素:datalist,output,keygen

3.新文件節段和綱要:header頁面頭部、section章節、aside邊欄、article文件內容、footer頁面底部、section章節、aside邊欄、article文件內容、footer頁面底部等

特定網域名稱數量限制(ie6或更低版本 20,ie7和之後的版本 50,firefox最多 50,chrome和safari沒有做硬性限制)

ie和opera 會清理近期最少使用的cookie,firefox會隨機清理cookie

cookie的最大大約為4096位元組(不適合大量資料的儲存)

——沒有時間限制的資料儲存(設定多久存多久)

——針對乙個 session 的資料儲存(瀏覽器關閉即清除)

~~同上

——主線程建立 worker 執行緒,將一些任務分配給後者執行

參考 阮一峰

1主線程

首先,採用new命令,呼叫worker()建構函式,新建乙個 worker 執行緒

var worker = new worker('work.js');
然後,主線程呼叫worker.postmessage()方法,向 worker 發訊息

worker.postmessage('hello world');

worker.postmessage();

worker.postmessage()方法的引數,就是主線程傳給 worker 的資料。它可以是各種資料型別,包括二進位制資料。

接著,主線程通過worker.onmessage指定監聽函式,接收子執行緒發回來的訊息

worker.onmessage = function (event) 

function dosomething()

worker 完成任務以後,主線程就可以把它關掉

worker.terminate();
2worker 執行緒

worker 執行緒內部需要有乙個監聽函式,監聽message事件

self.addeventlistener('message', function (e) , false);
上面**中,self代表子執行緒自身,即子執行緒的全域性物件。因此,等同於下面兩種寫法:

// 寫法一

this.addeventlistener('message', function (e) , false);

// 寫法二

addeventlistener('message', function (e) , false);

除了使用self.addeventlistener()指定監聽函式,也可以使用self.onmessage指定。監聽函式的引數是乙個事件物件,它的data屬性包含主線程發來的資料。self.postmessage()方法用來向主線程傳送訊息。

根據主線程發來的資料,worker 執行緒可以呼叫不同的方法,下面是乙個例子。

self.addeventlistener('message', function (e) ;

}, false);

3worker 載入指令碼

worker 內部載入其他指令碼專門的方法 importscripts()

importscripts('script1.js');
4錯誤處理

主線程可以監聽 worker 是否發生錯誤。如果發生錯誤,worker 會觸發主線程的error事件

worker.onerror(function (event) );

// 或者

worker.addeventlistener('error', function (event) );

worker 內部也可以監聽error事件

5關閉 worker

// 主線程

worker.terminate();

// worker 執行緒

self.close();

有時,瀏覽器需要輪詢伺服器狀態,以便第一時間得知狀態改變。這個工作可以放在 worker 裡面

function createworker(f) 

var pollingworker = createworker(function (e) ;

setinterval(function ()

})}, 1000)

});pollingworker.onmessage = function ()

pollingworker.postmessage('init');

上面**中,worker 每秒鐘輪詢一次資料,然後跟快取做比較。如果不一致,就說明服務端有了新的變化,因此就要通知主線程。

主線程

worker.onerror:指定 error 事件的監聽函式。

worker.onmessage:指定 message 事件的監聽函式,傳送過來的資料在event.data屬性中。

worker.onmessageerror:指定 messageerror 事件的監聽函式。傳送的資料無法序列化成字串時,會觸發這個事件。

worker.postmessage():向 worker 執行緒傳送訊息。

worker.terminate():立即終止 worker 執行緒。

worker 執行緒
self.name: worker 的名字。該屬性唯讀,由建構函式指定。

self.onmessage:指定message事件的監聽函式。

self.onmessageerror:指定 messageerror 事件的監聽函式。傳送的資料無法序列化成字串時,會觸發這個事件。

self.close():關閉 worker 執行緒。

self.postmessage():向產生這個 worker 執行緒傳送訊息。

self.importscripts():載入 js 指令碼。

HTML5的新特性

html的新特性 html5是下一代html標準 強化了web的表現性 支援網頁多 提供canvas畫布 2d圖形 三維 圖形及特效 支援語義化標籤 header footer 新的表單標籤 增加離線本地儲存 地理定位 應用快取 快取 將經常需要訪問的資料,放在記憶體中或者本地磁碟裡 canvas ...

html5 標籤新特性

html5主要的特徵就是標籤語義化。語義化的好處就是使得 結構讓人清晰易讀,這些語義化的標籤會有一些自帶屬性,比如說邊距 顏色 和display的設定等等 頭部 內容 內容分塊1 內容分塊2 內容分塊3 底部 導航 側欄 引用 自帶邊距,和縮排 標記 保留書寫的樣式 包括空格 tab 還有 ente...

HTML5的新特性

我是頭部 導航標籤 內容標籤 定義文件某個區域 側邊欄標籤 尾部標籤音訊標籤type email 限制使用者輸入必須為email型別 type url 限制使用者輸入必須為url型別 type date 限制使用者輸入必須為日期型別 type time 限制使用者輸入為時間型別 type month...