私はjQueryとMicrosoft Seadragonテクノロジーを使用してAJAXアプリケーションを開発しています。
html5キャンバス関数toDataURLにアクセスする必要があります。
Google Chromeでは、同じOriginルールがこの関数に適用されます。つまり、ローカルで(URLに_file:///
_を含む)実行されたページは同じOriginルールを満たさず、例外がスローされます。
Chrome 7、_--allow-file-access-from-files
_オプションでアプリケーションを起動すると、ローカルファイルからcanvas.toDataURL()
を呼び出すことができます。
ただし、同じオプション(_--allow-file-access-from-files
_)でChrome Beta 8を開始すると、ローカルファイルでのcanvas.toDataURL()
の呼び出しは許可されないようです。
Chrome=は_--allow-file-access-from-files
_オプションを放棄したのですか、それとも完全なリリースではなくベータ版のリリースであるため無効にされただけですか?
ありがとう!
これの問題を見る は、--allow-file-access-from-files
全体が急いだことを示しています。
問題について
確かに、これはベータ版にとって特別なもののようです。ここではChrome 8.0.552.5 dev
を使用しており、--allow-file-access-from-files
は期待どおりに動作します。また、Chromium 9.0.592.0 (66889)
でテストしました期待どおりに動作していましたか。
Devブランチにいくつかの変更があったと思われます。残念ながら、chromeの課題追跡で何かを見つけることはほとんど不可能です。
コマンドライン引数で開く前に、すべてのchromeインスタンスを閉じましたか?そのパラメーターを機能させるには、これを行う必要があります。
これまでのすべての答えを要約します。
Chromeを実行する前に、chromeプロセスが実行されていないことを確認してください。
Windows
-allow-file-access-from-files
(ダッシュ1つ付き)
Linux
--allow-file-access-from-files
(2つのダッシュを使用)
JavaScript/Flashアプローチを使用して、この問題を回避する方法を見つけました。 FlashがLocal Onlyセキュリティサンドボックスでコンパイルされる場合、ローカルファイルへのフルアクセスがあります。 JavaScriptはExternalInterfaceを使用して、Flashアプリケーションにファイルをロードするよう要求し、Flashは結果をJavaScriptに返すことができます。
ここで私の実装を見つけることができます: https://code.google.com/p/flash-loader/