HTML5-Web Worker APIs的代码详解


本文摘自PHP中文网,作者黄舟,侵删。

1.概述
HTML5 Web Worker可以使Javascript程序在后台单线程执行大量耗时的计算任务。Web Worker在执行时不能直接访问DOM。Web Worker也会消耗CPU和系统资源。Web Worker与页面间的通信可以通过Web Worker的方法postMessage和message事件。

2.浏览器支持检测

1

2

3

4

5

6

7

8

9

10

11

12

function loadDemo()

   {

       

if

 (typeof(Worker) !== "undefined")

      {

          

document

.getElementById("support").innerHTML = 

            "Excellent! Your browser supports HTML5 Web Workers";

      }

   }

3.worker对象
worker对象是window对象的子对象,它有下面几个方法:
?Worker(jsFile_URL):构造函数,参数是一个用于执行Web Worker任务的JavaScript文件的URL地址,可以是相对或绝对地址。可以递归建立worker。在页面调用。
?terminate():终止worker,终止后不能再重用,只能重建。
在页面调用。
?close():终止worker,在Worker内调用。
?importScripts(jsFile_1_URL, jsFile_2_URL, ... ):异步地向一个已存在的worker导入JavaScript文件,JavaScript的按照参数的顺序执行。在Worker脚本内部调用。
?postMessage(msg):创建werker的页面与worker之间通信的方法,例如:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

    // -------------由页面向worker

发送消息

------------------

      document.getElementById("helloButton").

onclick

 = function() {

         worker.postMessage("Here's a message

for

 you");

      }

      // -------------页面接收来自worker的消息----------------     

      worker.addEvent

List

ener("message", messageHan

dl

er, true);

      function messageHandler(e) {

         // process message from worker

      }

      // -------------JavaScript

文件处理

来自页面的消息----------------

      addEventListener("message", messageHandler, true);

      function messageHandler(e) {

         postMessage("worker says: " + e.data + " too");

      }

4.错误处理

1

2

3

4

5

// -------------在页面处理来自worker的消息----------------

  worker.addEventListener("error", errorHandler, true);

  function errorHandler(e) {

     console.log(e.message, e);

  }

5.使用定时器
尽管worker不能直接访问DOM中的对象,但可以完全使用window对象中与时间有关的方法和属性,也可以使用部分其他属性。如:

1

2

3

4

  var t =

set

Time

out(postMessage, 2000, "delayed message");

以上就是HTML5-Web Worker APIs的代码详解的详细内容,更多文章请关注木庄网络博客

相关阅读 >>

HTML5语义化标签有哪些

h5完成多图片上传的实例详解

HTML5程序员需要学习的技能总结

HTML5实现留言和回复的页面样式

input实现文字超出省略号(代码示例)

HTML5返回音频/视频的当前网络状态(activity)的属性networkstate

HTML5和h5是一个概念吗

哪些浏览器支持HTML5

利用html实现一个个人信息表的网页(代码实例)

HTML5 touch事件实现触屏页面上下滑动(一)

更多相关阅读请进入《HTML5》频道 >>




JavaScript 从入门到项目实践
书籍

JavaScript 从入门到项目实践

清华大学出版社

本书采取“基础知识→核心应用→核心技术→高级应用→行业应用→项目实践”的结构和“由浅入深,由深到精”的学习模式进行讲解。全书共35章,不仅介绍了HTML、CSS、对象、函数、事件等JavaScript语言的基础知识,而且深入介绍了jQuery、客户端、服务器端、数据存储等核心技术。



打赏

取消

感谢您的支持,我会继续努力的!

扫码支持
扫码打赏,您说多少就多少

打开支付宝扫一扫,即可进行扫码打赏哦

分享从这里开始,精彩与您同在

评论

管理员已关闭评论功能...