私はWebワーカーにいくつかのURLポーリング要求をオフロードする作業を進めています。これを行うには、invokationのDOM要素から特定の属性を取得し、URL要求に渡してから元のDOM要素を結果に更新する必要があります。複数のDOM要素がこの関数を使用して更新を取得するため、正しい要素が確実に更新されるように、$(this)
または同等の一意の識別子を渡す必要があります。WebワーカーによるjQuery参照の受け渡し
私は"Passing objects to a web worker"と"Can I pass a jQuery object to a web worker"のような質問から理解できませんので、私はこれをエミュレートする手段を探しています。あなたが見ることができるように、私は、Webワーカーの内側$(this)
にアクセスする必要はありませんが、リクエストが順番に戻った後、私は参照が必要
//main.js
function update(){
var data = { 'id' : $(this).attr('itemid'),
'filter' : $(this).attr('filter')}
updatePoller.postMessage(data);
}
//worker.js
this.onmessage = function(e){
//format params from e.data
//make GET request to url
//when done...
postMessage(req.responseText);
}
//main.js (again)
updatePoller.onmessage = function(message){
//process response
//update child elements of $(this)
}
:ここ
は、私のコードの大まかな概要であります正しい要素を更新します。 WebワーカーからDOM要素への一意の参照を渡す方法はありますか?
おかげで、私は 'に' $(この)の 'id'を渡すために管理作業者に応答と要素IDを持つJSONオブジェクトを返す –