Web Worker
运行在后台的JavaScript,独立于其他脚本,不影响页面性能
使用实例
检测浏览器是否支持 Web Worker
if(typeof(Worker) !== "undefined"){ //支持 } else{ //不支持 }
创建Web Worker 文件,存储“demo_worker.js”文件中
var i=0; function timeCount(){ i=i+1; postMessage(i); //向html页面传回一段消息 setTimeout("timeCount()",500); } timeCount();
在HTML页面调用
if(typeof(w)=="undefined") //判断是否存在worker。 { w=new Worker("demo_workers.js"); //若无,则创建一个新的web worker对象来运行“demo_worker.js” } w.onmessage=function(event){ document.getElementById("result").innerHTML=event.data; //从web worker对象接收消息 };
终止web worker
w.terminate();
无法访问
因为web worker位于外部文件,所以无法访问:
window对象
document对象
parent对象