Web Workersでエラー

JavaScriptで大量データを処理するとき、その実行速度が問題になることがある。FireFoxなんかだと「処理に時間がかかっています」というダイアログボックスが出ることがあるし、処理中は動作が遅くなってしまう(遅くなるのは現状ではやむを得ないのだが)。そこで並列処理を実装するのだがここで問題が発生した。

開発作業はFireFoxやSafariで動きを確認しつつ、だったのだが、たまたまChromeで見ることがあって「どんな感じかな」と思っていたら全く動いていない様子。「えっ」って感じ。

IEは確か次バージョン(10)で対応だった記憶はあるが、それ以外のブラウザなら際はあまりないんじゃなかったかなー、と腑に落ちなかった。で、コンソールを見たらやっぱりエラーが出ていた。

Uncaught Error: SECURITY_ERR: DOM Exception 18

例外が発生している。発生箇所はWeb Workersをコールしている場所だ。「対応してないわけないよな」と思い、しばらく調べてみたら原因がわかった。どうもローカル環境で使用すると例外エラーが発生するようだ(つまりURLが「file:///」で始まっている場合)。

同じファイルをサーバにアップロードし、HTTP経由でコールして正常に動作することを確認した。いろいろあるなー。

コメントを残す


守谷市(まちの情報ポータル) 無料アンケートレンタルjpForm.net