2016-10-13 00:16:48 点击量:8 标签: 收藏本文
当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。
web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。
在创建 web worker 之前,请检测用户的浏览器是否支持它:
- if(typeof(Worker)!=="undefined")
- {
- // Yes! Web worker support!
- // Some code.....
- }
- else
- {
- // Sorry! No Web Worker support..
- }
我们已经看到了 .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>
我们是一家提供综合软件外包与弱电工程服务的技术公司。
业务涵盖定制软件、管理系统、网站、小程序、APP、系统集成、网络布线、监控安防、门禁、机房建设及长期技术维护。
公司地址:湖北省宜昌市伍家岗区东站二路6号三峡(宜昌)大数据产业园海洋馆二楼A203室