当前位置: 首页 > 面试题库 >

没有单独的Javascript文件的网络工作者?

梁鸣
2023-03-14
问题内容

据我所知,网络工作者需要用一个单独的JavaScript文件编写,并按如下方式调用:

new Worker('longrunning.js')

我正在使用闭包编译器来合并和最小化我的所有JavaScript源代码,而我不必将我的工作人员放在单独的文件中进行分发。有什么办法可以做到这一点?

new Worker(function() {
    //Long-running work here
});

鉴于一流的功能对JavaScript至关重要,为什么进行后台工作的标准方法必须从Web服务器加载整个其他JavaScript文件?


问题答案:

如果您想即时创建工作脚本或创建独立页面而不需要创建单独的工作文件怎么办?使用Blob(),您可以通过将工作程序代码的URL句柄创建为字符串,将工作程序“内联”到与主逻辑相同的HTML文件中

BLOB内联工作程序的完整示例:

<!DOCTYPE html>

<script id="worker1" type="javascript/worker">

  // This script won't be parsed by JS engines because its type is javascript/worker.

  self.onmessage = function(e) {

    self.postMessage('msg from worker');

  };

  // Rest of your worker code goes here.

</script>

<script>

  var blob = new Blob([

    document.querySelector('#worker1').textContent

  ], { type: "text/javascript" })



  // Note: window.webkitURL.createObjectURL() in Chrome 10+.

  var worker = new Worker(window.URL.createObjectURL(blob));

  worker.onmessage = function(e) {

    console.log("Received: " + e.data);

  }

  worker.postMessage("hello"); // Start the worker.

</script>


 类似资料:
  • 问题内容: 当我有Google Maps API片段时: 在中,出现错误:。 我想将所有,CSS,API和脚本声明保存在Yeoman支架的AngularJS Web应用程序上的文件中。我实际上试图重新创建的地图将位于另一条路线上,我们称其为“ afterlogin”路线,仅是基本地图。我分开JS和HTML HTML组件成和 有很多潜在的原因。此处介绍的其中一项功能是调整调用以匹配名称空间。这需要角

  • 有没有简单的,可以监控网络设备的软件 特别是上手简单容易的

  • 我试图执行一个简单的浏览器测试 浏览器立即启动并关闭,引发以下错误 HTTP请求路径为空意味着什么?新版本的watir是否更改了调用参数? 有人遇到过类似的问题吗? 我的系统是Windows 7 64位,我运行在一个代理之后,浏览器已经配置了一个代理 ---编辑--- 我引入了一个尾随斜杠,但我现在得到了一个新的错误,也得到了以前的错误,每次我都要更改代码并保存它来获得这个错误 ---编辑---

  • 问题内容: angularJS如何使用Web Worker在后台运行进程?我有什么模式可以遵循吗? 当前,我正在使用在单独的Web worker中具有模型的服务。该服务实现的方法如下: 在实现中,此方法将带有数据的消息发送给工作程序。这使我可以抽象出它是在单独的线程中执行的事实,并且我还可以提供一种对服务器甚至在同一线程中执行此操作的服务器进行查询的实现。 由于我是Java语言的新手,我只是在回收

  • 如果没有网络连接,我可以在Emacs中打开lein repl连接或苹果酒插孔吗?需要lein repl的计算机在一些网络后面,这些网络阻止了一些IP,使其无法连接到(lein?)服务器,也不能使用vpn绕过此问题。那么有没有办法在没有网络连接的情况下启动lein repl呢?谢啦

  • 问题内容: 上面的示例显示了具有多个名称空间的XML文件的示例。这些名称空间的目的是什么,最重要的是,即使没有Internet连接,它们为什么也可以工作? 我认为从第二位开始包含XML模式文件,这些文件用于验证XML文档的结构。如果我在不在网络上的计算机上运行使用此配置文件的应用程序,这些仍然如何工作?URL是JAR文件的别名吗? 问题答案: 让我们假设我们有这个XML文档。 它包括HTML,该H