Worker 线程一旦新建成功,就会始终运行,不会被主线程上的活动(比如用户点击按钮、提交表单)打断。这样有利于随时响应主线程的通信。但是,这也造成了 Worker 比较耗费资源,不应该过度使用,而且一旦使用完毕,就应该关闭。
Web Worker 有以下几个使用注意点。
(1)同源限制
分配给 Worker 线程运行的脚本文件,必须与主线程的脚本文件同源。
(2)DOM 限制
Worker 线程所在的全局对象,与主线程不一样,无法读取主线程所在网页的 DOM 对象,也无法使用document、window、parent这些对象。但是,Worker 线程可以navigator对象和location对象。
(3)通信联系
Worker 线程和主线程不在同一个上下文环境,它们不能直接通信,必须通过消息完成。
(4)脚本限制
Worker 线程不能执行alert()方法和confirm()方法,但可以使用 XMLHttpRequest 对象发出 AJAX 请求。
(5)文件限制
Worker 线程无法读取本地文件,即不能打开本机的文件系统(file://),它所加载的脚本,必须来自网络。
参考:
web worker使用教程以及在vue中的使用
Web Worker 使用教程
浅谈webWorker
微信小程序内嵌webview,陵迟御部分安卓机型无法打开h5界面,h5地址格式为:旦冲http://xxx?wxinfo=xxx,ios和大部分机型可正常打开内嵌尺岩的h5界面,考虑是传参格式问题,地址栏带参编码问题,解决方式如下:
小程序上:
let base64 = require('./base64.js'),引用base64进行编码进行传参
h5项目上:
进行base64.decode解析
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)