2

importScripts() を使用して JavaScript Web ワーカーにライブラリをインポートできません。独自の別の JavaScript ファイルをインポートすると正常に動作しますが、jquery やイーゼル js などの別のライブラリをインポートしようとすると、次のエラーが表示されます: Uncaught ReferenceError: document is not defined

ただし、継続的にチェックした後、明らかに正しく定義されています。誰が間違っているのか知っています。ありがとうございました。

4

2 に答える 2

3

Webworker が DOM を参照できないのは、メッセージを介して呼び出し元スクリプトにしか通信できないためです。jQuery は DOM への明示的な参照を行うため、Webworker では使用できません。jQuery の作成者である John Resig による WebWorkers に関する次のブログ記事をご覧になることをお勧めします: http://ejohn.org/blog/web-workers/

于 2013-07-01T00:15:00.277 に答える
2

Web ワーカーは、DOM オブジェクトとメソッドへのアクセスが非常に制限さdocumentれており、jQuery と easyjs の両方で必要とされるグローバル オブジェクトに完全にアクセスできません。

イーゼルについては言えませんが、jQuery には、Web ワーカーの安全でないコードなしでコンパイルされた 1.6.3 のポートがあります。ここで見つけることができます。

于 2013-07-01T00:13:02.597 に答える