小编典典

HTML Web Worker和Jquery Ajax调用

ajax

我想知道是否可以在Web Worker文件中使用jQuery。谷歌浏览器给我这个错误:“未捕获的ReferenceError:未定义$”。

下面是代码:父文件:

var loader = new Worker(BASE_URL + "js/rss_loader_worker.js");
// Ask the worker to start loading the RSS from the server
loader.postMessage("loadRss");
// When receive the response from the server
loader.onmessage = function (event) {
  console.log(event.data);
}

工作文件:

onmessage = function (event) {
  if (event.data === "loadRss") {
    loadRss();
  }
}

/**
 * This function handles the AJAX request to the server side
 * then pass the content to the view page
 * @param none
 * @return html text
 */
loadRss = function () {
  $.ajax({
    data: {city: CITY_LOCATION},
    url: BASE_URL + "/getfeeds",
    onsucess: function (data) {

    }
  });
}

请帮忙,谢谢:)


阅读 699

收藏
2020-07-26

共1个答案

小编典典

不,你 不能 。无法访问非线程安全组件或DOM,您必须通过序列化对象将特定数据传入和传出线程。因此,您必须非常努力地在代码中引起问题。
jQuery是一个JavaScript DOM库

但是您可以XMLHttpRequest在您的工作人员中使用本地人。

而且,导入外部脚本不会通过带有script标签的页面进行:在工作文件中使用importScripts()进行标记。

2020-07-26