bl双性强迫侵犯h_国产在线观看人成激情视频_蜜芽188_被诱拐的少孩全彩啪啪漫画

HTML5的WebWorkers怎么創(chuàng)建

本篇內(nèi)容主要講解“HTML5的Web Workers怎么創(chuàng)建”,感興趣的朋友不妨來(lái)看看。本文介紹的方法操作簡(jiǎn)單快捷,實(shí)用性強(qiáng)。下面就讓小編來(lái)帶大家學(xué)習(xí)“HTML5的Web Workers怎么創(chuàng)建”吧!

網(wǎng)站建設(shè)哪家好,找創(chuàng)新互聯(lián)建站!專(zhuān)注于網(wǎng)頁(yè)設(shè)計(jì)、網(wǎng)站建設(shè)、微信開(kāi)發(fā)、重慶小程序開(kāi)發(fā)、集團(tuán)企業(yè)網(wǎng)站建設(shè)等服務(wù)項(xiàng)目。為回饋新老客戶(hù)創(chuàng)新互聯(lián)還提供了漳縣免費(fèi)建站歡迎大家使用!

web worker是運(yùn)行在后臺(tái)的JavaScript,不會(huì)影響頁(yè)面的性能。

什么是Web Worker?

當(dāng)在HTML頁(yè)面中執(zhí)行腳本時(shí),頁(yè)面的狀態(tài)是不可響應(yīng)的,直到腳本已完成。

web worker是運(yùn)行在后臺(tái)的JavaScript,獨(dú)立于其他腳本,不會(huì)影響頁(yè)面的性能。您可以繼續(xù)做任何愿意做的事情:點(diǎn)擊,拾取內(nèi)容等等,而此時(shí)web worker在后臺(tái)運(yùn)行。

瀏覽器支持

所有主流瀏覽器均支持web worker,除了Internet Explorer。

HTML5 Web Workers實(shí)例

下面的例子創(chuàng)建了一個(gè)簡(jiǎn)單的web worker,在后臺(tái)計(jì)數(shù):

計(jì)數(shù):

<!DOCTYPE html>

<html>

<身體>

<p>計(jì)數(shù):<output id =“ result”> </ output> </ p>

<button onclick =“ startWorker()”>開(kāi)始工作者</ button> 

<button onclick =“ stopWorker()”>停止Worker </ button>

<br /> <br />

<腳本>

var w;

函數(shù)startWorker()

{

if(typeof(Worker)!==“未定義”)

  {

  if(typeof(w)==“ undefined”)

  {

  w = new Worker(“ / example / html5 / demo_workers.js”);

  }

  w.onmessage =函數(shù)(事件){

    document.getElementById(“ result”)。innerHTML = event.data;

    };

  }

別的

  {

  document.getElementById(“ result”)。innerHTML =“對(duì)不起,您的瀏覽器不支持Web Workers ...”;

  }

}

函數(shù)stopWorker()

w.terminate();

}

</ script>

</ body>

</ html>

檢測(cè)Web Worker支持

在創(chuàng)建web worker之前,請(qǐng)檢測(cè)用戶(hù)的瀏覽器是否支持它:

if(typeof(Worker)!==“未定義”)

  {

  // 是的!網(wǎng)絡(luò)工作者支持!

  //一些代碼.....

  }

別的

  {

  // 對(duì)不起!不支持Web Worker。

  }

創(chuàng)建網(wǎng)絡(luò)工作者

現(xiàn)在,讓我們?cè)谝粋€(gè)外部JavaScript中創(chuàng)建我們的web worker。

在這里,我們創(chuàng)建了計(jì)數(shù)腳本。該腳本存儲(chǔ)于“ demo_workers.js”文件中:

var i = 0;

函數(shù)timedCount()

{

i = i + 1;

postMessage(i);

setTimeout(“ timedCount()”,500);

}

timedCount();

以上代碼中重要的部分是 postMessage() 方法-它用于向HTML頁(yè)面?zhèn)骰匾欢蜗ⅰ?/p>

注釋?zhuān)?web worker通常不使用如此簡(jiǎn)單的腳本,或者用于更耗費(fèi)CPU資源的任務(wù)。

創(chuàng)建Web Worker對(duì)象

我們已經(jīng)有了web worker文件,現(xiàn)在我們需要從HTML頁(yè)面調(diào)用它。

下面的代碼檢測(cè)是否存在worker,如果不存在,-它會(huì)創(chuàng)建一個(gè)新的web worker對(duì)象,然后運(yùn)行“ demo_workers.js”

if(typeof(w)==“ undefined”)

  {

  w = new Worker(“ demo_workers.js”);

  }

然后我們就可以從web worker發(fā)生和接收消息了。

向web worker添加一個(gè)“ onmessage”事件監(jiān)聽(tīng)器:

w.onmessage =功能(事件){

document.getElementById(“ result”)。innerHTML = event.data;

};

當(dāng)web worker傳遞消息時(shí),會(huì)執(zhí)行事件監(jiān)聽(tīng)器中的代碼。

終止網(wǎng)絡(luò)工作者

當(dāng)我們創(chuàng)建web worker對(duì)象后,它會(huì)繼續(xù)監(jiān)聽(tīng)消息(即使在外部腳本完成之后)直到其被終止為止。

如果終止網(wǎng)絡(luò)工作人員,并釋放瀏覽器/計(jì)算機(jī)資源,請(qǐng)使用Terminate()方法:

w.terminate();

完整的Web Worker實(shí)例代碼

我們已經(jīng)看到了.js文件中的Worker代碼。下面是HTML頁(yè)面的代碼:

實(shí)例

<!DOCTYPE html>

<html>

<身體>

<p>計(jì)數(shù):<output id =“ result”> </ output> </ p>

<button onclick =“ startWorker()”>開(kāi)始工作者</ button>

<button onclick =“ stopWorker()”>停止工作者</ button>

<br /> <br />

<腳本>

var w;

函數(shù)startWorker()

{

if(typeof(Worker)!==“未定義”)

{

  if(typeof(w)==“ undefined”)

    {

    w = new Worker(“ demo_workers.js”);

    }

  w.onmessage =函數(shù)(事件){

    document.getElementById(“ result”)。innerHTML = event.data;

  };

}

別的

{

document.getElementById(“ result”)。innerHTML =“對(duì)不起,您的瀏覽器

 不支持Web Workers ...”;

}

}

函數(shù)stopWorker()

{

w.terminate();

}

</ script>

</ body>

</ html>

網(wǎng)絡(luò)工作者和DOM

由于web worker位于外部文件中,它們無(wú)法訪問(wèn)下例JavaScript對(duì)象:

window對(duì)象

document對(duì)象

parent對(duì)象

到此,相信大家對(duì)“HTML5的Web Workers怎么創(chuàng)建”有了更深的了解,不妨來(lái)實(shí)際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢(xún),關(guān)注我們,繼續(xù)學(xué)習(xí)!

網(wǎng)站標(biāo)題:HTML5的WebWorkers怎么創(chuàng)建
瀏覽路徑:http://vcdvsql.cn/article8/pehcip.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供搜索引擎優(yōu)化云服務(wù)器ChatGPT網(wǎng)站維護(hù)網(wǎng)站策劃電子商務(wù)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶(hù)投稿、用戶(hù)轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話(huà):028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來(lái)源: 創(chuàng)新互聯(lián)

h5響應(yīng)式網(wǎng)站建設(shè)