个人原创,欢迎转载,转载请注明出处http://blog.csdn.net/bud_icelf QQ:909648986
Web Workers
什么是Web Workers
web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。
例子1 时间实现
<!DOCTYPE HTML>
<html>
<head>
<meta charset="gbk">
</head>
<body>
<p id="info"></p>
<script>
if(typeof(Worker)!=="undefined"){
var worker=new Worker("time.js");
worker.onmessage=function(event){
document.getElementById("info").innerHTML=event.data;
};
}else{
document.getElementById("info").innerHTML="你的浏览器不支持Web Workers";
}
</script>
</body>
</html>
创建web worker文件 time.js
function time(){
setTimeout("time()",500);
postMessage(new Date());
}
time();
if(typeof(Worker)!=="undefined")
判断浏览器是否支持web worker
var worker=new Worker("time.js");
创建Worker对象,参数一为web worker文件路径
worker.onmessage=function(event){
document.getElementById("info").innerHTML=event.data;
};
当有消息传递时(onmessage),执行监听器中的代码, event.data是传递的信息内容。
postMessage(new Date());
该方法向所对应的Worker对象传递信息。参数一为传递的内容。