C#163课的主要内容
来源:互联网 发布:单片机wifi通信编程 编辑:程序博客网 时间:2024/05/22 03:30
今天主要学习了一下知识点:
html Web Workers
Web worker是运行在后台的JavaScript,不会影响页面的性能。
什么是Web Worker?
当在HTML页面中执行脚本时,页面是不可相应的,直到脚本以完成。
Web worker是运行在后台的JavaScript,独立于其他脚本不会影响页面的性能,你可以继续做任何愿意做的事情:点击,选取内容等等,而此时web worker 运行在后台。
浏览器支持
表格中的数字指示完全支持Web Worker的首个浏览器版本。
HTMLWeb Workers实例
下面的例子创建了一个简单的Web worker, 在后台计数:
计数:
检测Web Worker支持
在创建web worker之前,请检测用户浏览器是否支持它:
创建WebWorker文件
现在,让我们在一个外部JavaScript文件中创建我们的web worker.
在此处,我们创建了计数脚本,该脚本存储于”demo_workers.js“文件中:
以上代码中重要的部分是postMessage()方法-它用于向HTML页面传回一段消息。
注释:web worker通常不用于如此简单的脚本,而是用于更耗费cpu资源的任务。
创建Web Worker对象
现在我们已经有了web worker文件,我们需要从HTML页面调用它。
下面的代码行检测是否存在worker,如果不存在,他会创建一个新的web worker对象,然后运行”demo_workers,js“中的代码:
然后我们就可以从web worker 发生和接受消息了。
向web worker添加一个”onmessage“事件监听器:
当web worker传送消息时,会执行事件监听器中的代码。来自web worker的数据会存储于event,data中。
终止Web Worker
当创建Web worker后,它会继续监听消息直到其被终止为止。
如需终止web worker,并释放浏览器/计算机资源,请使用terminate()方法:
复用Web Worker
如果你把worker变量设置为undefined,在其被终止后,可以重复使用该代码
完整的Web Worker实例代码
我们已经看到了。js文件中的worker代码,下面是HTML页面的代码;
Web Worker 和DOM
由于web worker 位于外部文件中,他们无法访问下例JavaScript对象:
window对象
document对象
parent对象
- C#163课的主要内容
- C#的25课主要内容
- C#的29课主要内容
- C#30课的主要内容
- C#31课的主要内容
- C#32课的主要内容
- C#33课的主要内容
- C#35课的主要内容
- C#37课的主要内容
- C#38课的主要内容
- C#39课的主要内容
- C#40课的主要内容
- C#43课的主要内容
- C#44课的主要内容
- C#45课的主要内容
- C#46课的主要内容
- C#47课的主要内容
- C#49课的主要内容
- linux多线程-操作系统线程同步互斥
- oracle查询练习题(从易到难)
- 多线程之死锁
- 【编译原理】First集和Follow集
- 《C和指针》:存储类型
- C#163课的主要内容
- Codeforces Round #373 (Div. 2) C. Efim and Strange Grade —— 贪心 + 字符串处理
- 最近最久未使用(LRU)置换算法
- Cocos2d-JS 热更新
- 三、双链表
- QT creator+OpenCV2.4.2+MinGW 在windows下开发环境配置
- 第二次数据库课后习题(第四五章)
- shiro-从数据库中获取授权信息与显示菜单在页面上(注解版和jsp标签)
- 「一句话经典」从Spring到SpringMVC再到JavaEE开发颠覆者Spring Boot,最后佛法无边Spring Cloud;只不过却成了nodejs的笑柄