【问题标题】:Loading JQuery in web worker using require.js使用 require.js 在 Web Worker 中加载 JQuery
【发布时间】:2016-02-26 23:42:27
【问题描述】:

我正在尝试在我的应用中实现一个工作模块。该应用程序本身使用 require.js 来加载所有预请求。这就是加载工作模块的所有问题的开始。

index.html

<script>
    var worker = new Worker('worker_module.js');
</script>

worker-module.js

importScripts('../vendor/require.min.js');

require(['../vendor/jquery.min'], function ($){
   console.log("Test")
});

每次加载页面时都会弹出此错误。

Error: importScripts failed for ../vendor/jquery.min at ./../vendor/jquery.min.js

有什么想法可能是错的吗?我错过了什么吗?

【问题讨论】:

  • 你想要 jQuery 做什么?你不能在 WebWorker 中操作 DOM。
  • 无论如何,这是一个已经在这里问过的 JQuery 问题:stackoverflow.com/q/10491448/607407
  • 是的,我知道,我只需要处理 ajax 请求的部分......但我已经通过为此编写自己的插件解决了这个问题。

标签: javascript jquery web-worker


【解决方案1】:

我认为this post 可能会回答您的问题。

据我所知,在 web-worker 中使用 jQuery 是不可能的,因为 jQuery 需要 DOM 访问。

【讨论】:

    【解决方案2】:

    如果你尝试直接importScriptsJQuery 你会看到它是jQuery,而不是Require.js 错误:

    TypeError: document is undefined
    

    JQuery 旨在与主 dom 文档一起使用,并且 Web Worker 中没有可用的 DOM API。 You can't use native API to parse HTML string either.

    我找到了解决方法,答案在这里:https://stackoverflow.com/a/33944817/607407 这是您的代码的演示:http://fel.8u.cz/workerrjs/main/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2019-05-26
      • 2021-09-27
      • 2013-03-20
      • 2019-01-20
      • 1970-01-01
      • 1970-01-01
      • 2013-10-14
      • 2017-09-06
      相关资源
      最近更新 更多