用于简化 JavaScript 分发的内联 Web Workers
利用 Web Workers 的标准做法包括为其代码创建一个单独的 JavaScript 文件,该文件引入了需要多个文件并使代码分发变得复杂。然而,还有一种替代方法,允许工作人员直接嵌入到主 HTML 文件中,从而提高代码效率和分布。
此方法涉及使用 Blob() API。 Blob 允许创建工作程序代码字符串的 URL 句柄,从而能够内联定义工作程序的功能。这在动态创建工作人员或在没有外部工作人员文件的情况下维护独立页面时特别有用。
提供的示例说明了此方法的实现:
<code class="html"><script id="worker1" type="javascript/worker"> // Worker code here </script></code>
<code class="javascript">var blob = new Blob([ document.querySelector('#worker1').textContent ], { type: "text/javascript" }); var worker = new Worker(window.URL.createObjectURL(blob));</code>
通过声明类型为“javascript/worker”的脚本标签,浏览器会识别worker的代码,但不会解析它。随后创建包含工作人员代码的 Blob 对象,允许创建该代码的 URL 句柄。然后可以使用此句柄实例化新的 Web Worker,从而无需单独的 JavaScript 文件即可执行 Worker 的逻辑。
以上是内联 Web Workers 可以简化 JavaScript 分发吗?的详细内容。更多信息请关注PHP中文网其他相关文章!