首页 理论教育 HTML5开发:版本使用WebWorkersAPI

HTML5开发:版本使用WebWorkersAPI

时间:2023-10-26 理论教育 版权反馈
【摘要】:使用Web Workers的方法非常简单,只需创建一个Web Workers对象,然后传入希望执行的JavaScript文件。如果想要在页面与Web Workers之间建立通信,数据需要通过函数postMessage()来传递。创建HTML5 Web WorkersWeb Workers初始化时会接受一个Javascript文件的URL地址,其中包含了供Worker执行的代码。多个脚本的导入同样也可以使用importScript函数,它们会按顺序执行:与HTML5 Web Workers通信一旦生成Web Work,就可以使用postMessage API传送和接收数据。postMessage API还支持跨框架和跨窗口通信。

HTML5开发:版本使用WebWorkersAPI

使用Web Workers的方法非常简单,只需创建一个Web Workers对象,然后传入希望执行的JavaScript文件。另外,在页面中再设置一个事件监听器,用来监听由Web Worker发来的消息和错误信息。如果想要在页面与Web Workers之间建立通信,数据需要通过函数postMessage()来传递。对于Web Worker Javascript中的代码也是如此,也必须通过设置事件处理程序来处理发来的消息和错误信息,通过postMessage函数实现与页面的数据交互。

(1)创建HTML5 Web Workers

Web Workers初始化时会接受一个Javascript文件的URL地址,其中包含了供Worker执行的代码。这段代码会设置事件监听器,并与生成Worker的容器进行通信。Javascript文件的URL可以是相对或者绝对路径,只要是同源(相同协议、主机和端口)即可:

(2)多个Javascript文件的加载与执行

对于由多个Javascript文件组成的应用程序来说,可以通过包含<script>元素的方式,在页面加载的时候同步加载Javascript文件。然而,由于Web Workers没有访问document对象的权限,所以在Worker中必须使用另外一种方法导入其他的Javascript文件—importScripts:(www.xing528.com)

导入的Javascript文件只会在某一个已有的Worker中加载和执行。多个脚本的导入同样也可以使用importScript函数,它们会按顺序执行:

(3)与HTML5 Web Workers通信

一旦生成Web Work,就可以使用postMessage API传送和接收数据。postMessage API还支持跨框架和跨窗口通信。大多数Javascript对象都可以通过postMessage发送,但含有循环引用的除外。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈