web-dev-qa-db-ja.com

Google Chrome --allow-file-access-from-filesが無効になっているChrome Beta 8

私は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_オプションを放棄したのですか、それとも完全なリリースではなくベータ版のリリースであるため無効にされただけですか?

ありがとう!

27
Alexandre

これの問題を見る は、--allow-file-access-from-files全体が急いだことを示しています。

  1. 「Firefoxがやる..」
  2. 「どうすればいいの?」
  3. しばらく時間がかかります
  4. 「ここにパッチがあります」
  5. 「パス!トランク上で、次の開発リリースで何が起こるのだろう」
  6. 「ああ、壊れている」「コマンドラインオプションを使用する」「OK」
  7. 「出荷しました!」
  8. 「WTFの連中?あなたは私のすべてを壊した!なぜ以前に教えてくれなかったの?」
  9. 無音

問題について
確かに、これはベータ版にとって特別なもののようです。ここではChrome 8.0.552.5 devを使用しており、--allow-file-access-from-filesは期待どおりに動作します。また、Chromium 9.0.592.0 (66889)でテストしました期待どおりに動作していましたか。

Devブランチにいくつかの変更があったと思われます。残念ながら、chromeの課題追跡で何かを見つけることはほとんど不可能です。

46
Ivo Wetzel

コマンドライン引数で開く前に、すべてのchromeインスタンスを閉じましたか?そのパラメーターを機能させるには、これを行う必要があります。

22
Guillaume86

これまでのすべての答えを要約します。

Chromeを実行する前に、chromeプロセスが実行されていないことを確認してください。

Windows

-allow-file-access-from-files

(ダッシュ1つ付き)

Linux

--allow-file-access-from-files

(2つのダッシュを使用)

10
Vanuan

JavaScript/Flashアプローチを使用して、この問題を回避する方法を見つけました。 FlashがLocal Onlyセキュリティサンドボックスでコンパイルされる場合、ローカルファイルへのフルアクセスがあります。 JavaScriptはExternalInterfaceを使用して、Flashアプリケーションにファイルをロードするよう要求し、Flashは結果をJavaScriptに返すことができます。

ここで私の実装を見つけることができます: https://code.google.com/p/flash-loader/

1
CommissarXiii