为你写的网页“提速”---Web Worker

认识Web Worker

  1. Web Worker是 运行在后台的javascript,也就是说worker其实就是就一个js文件对象,worker可以让他所包含的js代码运行在后台
  • 特点:

    • 充分利用多核CPU的优势
    • 对多线程支持非常好
    • 不会影响页面的性能
    • 不能访问web页面和DOM API
    • 所有的主流浏览器均支持web worker,除了Internet Explorer
  1. Worker提供API

    1)检测当前浏览器是否支持Worker

    typeof(Worker) !== "undefined“ 
    

    2)创建Worker文件
    创建普通的 JS 文件,都可以用于 Web Worker 文件

    3)创建Web Worker对象

      var worker = new Worker("myTime.js");
    

参数就是在第二步创建的js文件的路径

  4)worker事件

* onmessage事件

用于监听 Web Worker 传递消息,通过回调函数接收传递的消息,通过回调函数的事件对象data 属性可以获取传递的消息

  • postMessage()

       w.postMessage( “worker success.” );
    

通过postMessage() 方法传递消息内容

     w.terminate();

在HTML页面中,通过调用 Web Worker 对象的terminate( ) 方法终止 Web Worker。

流程:
  • 创建WebWorker对象
  • Worker对象
  • Worder事件
    * onmessage事件,当执行postMessage事件时会触发
    * postMessage()方法
    * terminate()方法

你可能感兴趣的:(为你写的网页“提速”---Web Worker)