2

Firefox 3のJavaScriptでgetImageDataを使用するアプリケーションを開発しようとしていますがNS_ERROR_DOM_SECURITY_ERR、getImageData呼び出しで「」が表示されます。javascriptとイメージは両方とも現在ハードドライブから提供されていますが、これは明らかにセキュリティ違反ですか?これがライブの場合、両方が同じドメインから提供されるため、問題はありませんが、その間にどのように開発できますか?

4

4 に答える 4

5

ブラウザにバグオフするように指示できます。解決策は、状況に応じて良くも悪くもなります。問題がなければセキュリティダイアログが表示されないように、試してみました。

  var data;
  try {
    try {
      data = context.getImageData(sx, sy, sw, sh).data;
    } catch (e) {
      netscape.security.PrivilegeManager.enablePrivilege("UniversalBrowserRead");
      data = context.getImageData(sx, sy, sw, sh).data;
    }
  } catch (e) {
    throw new Error("unable to access image data: " + e);
  }
于 2008-12-14T12:34:17.577 に答える
3

Apache(UNIXの場合)やIIS(Windowsの場合)などのローカルWebサーバーをインストールしてみてください。ブラウザはファイルシステムからのファイルをWebサーバーから提供されるコンテンツとはまったく異なる方法で処理することがわかっているので、これにより最終的にWeb関連のものに最適なローカルテストベンチが得られます。

于 2008-12-11T06:06:45.000 に答える
2

Firefoxでは、アドレスバーに「about:config」と入力します。次に、検索フィールドを使用して「security.fileuri.strict_origin_policy」を検索します。これをダブルクリックして「false」に設定します。

于 2010-08-06T15:19:00.400 に答える
1

FireFox 11.0 で使用しているときに同じ問題が発生しgetImageDataました... ファイルとコードはすべてサーバー上にあり、ローカル コンピューターには何もありませんでした。

これは、私と同じ問題を抱えている人の助けになるかもしれないと思いました。

Firefoxが扱うようです

http://mySite.com

~とは別のドメインとして

http://www.mySite.com

そのため、ユーザーが入力しない場合は.htaccess追加していましたwww.

RewriteEngine On
RewriteCond %{HTTP_HOST} ^mySite\.com$ [NC]
RewriteRule ^(.*)$ http://www.mySite.com/$1 [L,R=301]

現在は正常に動作し、表示されNS_ERROR_DOM_SECURITY_ERRなくなりました。

于 2012-04-22T03:49:38.923 に答える