私は、どのようにWebワーカーで他のライブラリを使用できますか?
var worker = new Worker("javascript/worker.js");
worker.onmessage = function(evt)
{
// stuff
}
worker.jsをこのようないくつかのJavaScriptコードを持っているが、このようになり、
importScripts("base.js");
function getImage()
{
$.ajax({
url: 'URL'
dataType: "text/plain; charset=x-user-defined",
mimeType: "text/plain; charset=x-user-defined",
success: function(data, textStatus, jqXHR)
{
callback();
}
});
}
worker.jsファイルはjQueryのようには動作しません含まれていません。私はworker.jsにこれを追加した場合、
importScripts("jQuery.js");
は、その後、私はメッセージを取得し、
Uncaught ReferenceError: window is not defined
私は労働者と本当に慣れていませんよ。これは、完全に別の環境(基本的にバックグラウンドスレッド)でworker.jsコードを読み込んでいるので、ウィンドウへのアクセス権がないと思うのです。
ないあなたの質問への答えが、あなたは本当にこの例では、作業者が必要なのでしょうか? AJAX要求はすでに非同期に実行されます。 – millimoose
おそらくあなたは正しいです。私はいくつかの既存のコードを取って修正していました。既存のコードは、私が推測している非同期ではないXMLHttpRequestを使用していましたか?結局のところ、その答えが私の顔を明るく照らしているかもしれません。 – peter