文档分值:14

html >>> html >>> 计算类API

课程目录

基础
格式
表单
框架
图像
音频/视频
链接
列表
表格
样式
元信息
编程
图形与交互类API
计算类API
硬件相关API
通讯类API
存储类API
其它杂项API
字符集与编码
sharedworker

介绍

“SharedWorker”对象代表Shared Web Worker,一般来说在web worker中运行的代码是专为当前页面服务的。而在一些特定情况下,web worker可能运行的是更为普遍性的代码,可以为多个页面服务。在这种情况下,我们会创建一个共享线程的Shared web worker,它可以被与之相关联的多个页面访问,只有当所有关联的的页面都关闭的时候,该Shared web worker才会结束。

例子

addEventListener("message",    function(evt){        
var    date    =    new    Date();        
var    currentDate    =    null;        
do    {        
currentDate    =    new    Date();        
}while(currentDate    -    date    <    evt.data);        
postMessage(currentDate);        
},    false);        

这里创建了一个SharedWorker对象,并把message事件绑定在shared worker的port对象上;同样由port对象发起postMessage, 开始执行后台代码sharedlengthytask.js。

下面是sharedlengthytask.js的主要代码:

var    port;        
addEventListener("connect",    function(evt){        
port    =    evt.ports[0];        
port.addEventListener("message",    function(evt){        
var    date    =    new    Date();        
var    currentDate    =    null;        
do    {        
currentDate    =    new    Date();        
}while(currentDate    -    date    <    evt.data);        
port.postMessage(currentDate);        
},    false);        
port.start();        
},    false);    

[ 该条目创建时间:2016-06-25 17:18:15 ]