当在 HTML 页面中执行脚本时,页面的状态是不可响应的,直到脚本已完成。

web worker 是运行在后台的 JavaScript,独立于其他脚本,不会影响页面的性能。

您可以继续做任何愿意做的事情:点击、选取内容等等,而此时 web worker 在后台运行。

细节:

所有主流浏览器均支持 web worker,除了 Internet Explorer。 (包括 edge )

由于 web worker 位于外部文件中,它们无法访问下例 JavaScript 对象:

  • window 对象
  • document 对象
  • parent 对象

过程:

w=new Worker("demo_workers.js");      -     postMessage()  (event.data)      -      w.terminate();
<!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>

最新文章

  1. ORA-19563: header validation failed for file
  2. Myeclipse 自定义代码自动格式化(ctrl+alt+F)
  3. [AngularJS] TweenList 3D + AngularJS Animate
  4. Java网页数据采集器[下篇-数据查询]【转载】
  5. css书写顺序和常用命名推荐
  6. IQC,QA,FQC,OQC,IPQC的定义与职责
  7. C# 保留小数点后两位(方法总结)
  8. D6
  9. mysql zip 版安装
  10. asp.net mvc 5 关闭xss过滤
  11. Poi 生成xls
  12. Confluence 6 你模板中可用的对象
  13. 两道面试题,带你解析Java类加载机制
  14. GRUB2 命令行使用笔记
  15. svg绘图工具raphael.js的使用
  16. ASP.NET MVC HtmlHelper 默认值
  17. android studio 卡慢的问题(android studio 3.0)
  18. 2018/4/26 python文件处理方式
  19. selenium IDE 命令 一
  20. LeetCode-Algorithms 1. 两数之和

热门文章

  1. hibernate entitymanager的理解
  2. Python学习笔记:list的各种操作
  3. shell脚本之awk、sed、grep案例
  4. [Java]使用正则表达式实现分词
  5. 【6】font-size 字体属性
  6. PyQt GUI--信号与槽
  7. LoadRunner 技巧之 自动关联
  8. sql server 字符串拆分
  9. docker扩容
  10. 【HANA系列】SAP HANA计算视图中的RANK使用方法