HTML5
HTML5 Web Workers
web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。 您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。 ##### 创建 web worker 文件 我们创建了计数脚本。该脚本存储于 "demo_workers.js" 文件中: ```javascript var i=0; function timedCount() { i=i+1; postMessage(i); setTimeout("timedCount()",500); } timedCount(); ``` ##### 完整的 Web 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> <script> var w; function startWorker(){ if(typeof(Worker)!=="undefined"){ //检测浏览器是否支持 Web Worker if(typeof(w)=="undefined") { //测是否存在 worker,如果不存在,- 它会创建一个新的 web worker 对象,然后运行 "demo_workers.js" 中的代码 w=new Worker("demo_workers.js"); } //向 web worker 添加一个 "onmessage" 事件监听器 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(){ //终止 Web Worker w.terminate(); } </script> </body> </html> ``` ##### Web Workers 和 DOM - 由于 web worker 位于外部文件中,它们无法访问下例 JavaScript 对象: window 对象 document 对象 parent 对象
顶部
收展
底部
[TOC]
目录
HTML5 Web 存储
HTML5 Web Workers
HTML5 WebSocket
HTML5 SSE
HTML5 语义元素
HTML5 表单元素属性
HTML5 地理定位
HTML5 拖放(Drag 和 Drop)
相关推荐
HTML5音视频
HTML5画布