我想知道是否可以在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) { } }); }
请帮忙,谢谢:)
不,你 不能 。无法访问非线程安全组件或DOM,您必须通过序列化对象将特定数据传入和传出线程。因此,您必须非常努力地在代码中引起问题。 jQuery是一个JavaScript DOM库 。
但是您可以XMLHttpRequest在您的工作人员中使用本地人。
XMLHttpRequest
而且,导入外部脚本不会通过带有script标签的页面进行:在工作文件中使用importScripts()进行标记。
script