HTML 5 Web Workers
web worker 台的 JavaScript。
什么是 Web Worker?
当在 HTML 已完成。
web worker 台的 JavaScript此时 web worker 。
web worker,除了 Internet Explorer。
检测 Web Worker 支持
在创建 web worker 持它:
if(typeof(Worker)!=="undefined")
{
// Yes! Web worker support!
// Some code.....
}
else
{
// Sorry! No Web Worker support..
}
创建 web worker 文件
部 JavaScript 的 web worker。
"demo_workers.js" 文件中:
var i=0;
function timedCount()
{
i=i+1;
postMessage(i);
setTimeout("timedCount()",500);
}
timedCount();
是 postMessage() 方法 - 它用于向 HTML 段消息。
注释:web worker CPU 。
创建 Web Worker 对象
了 web worker HTML 。
在 worker在,- 个新的 web worker 运行 "demo_workers.js"
if(typeof(w)=="undefined")
{
w=new Worker("demo_workers.js");
}
可以从 web worker 消息了。
向 web worker 添加一个 "onmessage" :
w.onmessage=function(event){
document.getElementById("result").innerHTML=event.data;
};
当 web worker 的代码。event.data event.data 的数据。
终止 Web Worker
web worker 止为止。
如需终止 web worker览器/,请使用 terminate() 方法:
w.terminate();
完整的 Web Worker 实例代码
到了 .js 文件中的 Worker 是 HTML :
实例
<!DOCTYPE html>
<html>
<body>
<p>Count numbers: <output id="result"></output></p>
<button onclick="startWorker()">Start Worker</button>
<button onclick="stopWorker()">Stop Worker</button>
<br /><br />
<script>
var w;
function startWorker()
{
if(typeof(Worker)!=="undefined")
{
if(typeof(w)=="undefined")
{
w=new Worker("demo_workers.js");
}
w.onmessage = function (event) {
document.getElementById("result").innerHTML=event.data;
};
}
else
{
document.getElementById("result").innerHTML="Sorry, your browser
does not support Web Workers...";
}
}
function stopWorker()
{
w.terminate();
}
</script>
</body>
</html>
Web Workers 和 DOM
由于 web worker 例 JavaScript 对象:
- window 对象
- document 对象
- parent 对象