HTML5程序设计web workers API 学习笔记

javascript是单线程的,所以就要考虑很多文件的时候里带来的加载问题,会影响性能。
此时就会用到HTML5的web workers:让web应用程序具有处理后台能力。

web workers的局限

  • 执行的脚本不可以访问该页面的window对象,即不可以访问页面以及不可以操作DOM。
  • 会消耗CPU的周期。

如果创建web应用程序的时候需要程序执行一些后台数据处理,但又不希望这些数据处理任何影响web本身的交互性,那么通过web worker去执行数据处理任务,同时添加一个事件监听去监听它发出的消息。

主要知识点:

  • 工作机制
  • 浏览器支持
  • 使用方法以及通信

(1)浏览器的支持情况
查看支持情况

(2)使用方法
创建web worher对象,传入希望执行的js代码;
在页面中设置事件监听器,用来监听由web worker发来的消息和错误信息;
利用postMessage函数来建立页面与web worher之间的通信。

浏览器检测
if(typeOf(Worker) !== "undefined"){xxx} //Worker大写w
// typeOf(Worker)会返回全局变量window的Worker属性。
使用方法比较简单:

建立worker对象

worker = new Worker("url_js") //括号的参数为要执行的js文件的相对或者绝对路径。

在worker对象中,不可以使用

posted @ 2015-04-01 21:25  hzhuang  阅读(267)  评论(0编辑  收藏  举报