Chrome でコマンドラインオプションを指定し file:// で始まるファイルの実行を許可する
(ε・◇・)っ よくわからない方は「こちらのページを見てください」のためのエントリです。ハイ
登場して間もない頃の Chrome は file://... で始まるローカルファイル上でもXHRなどを実行できましたが、現在はセキュリティ的に禁止されています(エラーになります)。
この制限は、起動オプションに --allow-file-access-from-files を設定することで(利用者の責任において)回避できます。
以下はその設定手順です。
- Spotlight で Automator を検索し起動する
- Workflow (ワークフロー) を選択
- シェルで検索し、シェルスクリプトを実行をダブルクリック
- シェルを /bin/bash にし
- テキストボックスに /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --allow-file-access-from-files を入力
- Command + S で保存。
- フォーマットをアプリケーションに変更し、名前(Chrome Debug)と保存場所(アプリケーション)はお好みで
ここまで行うと、Launchpad にアプリケーションアイコンが追加されています(Automator のアイコンですが)。
実行中の Chrome を一旦終了させ、アイコンクリックで Chrome が起動し、ローカルでXHRが利用できたら設定成功です。
アドレスバーに chrome://version と入力し、コマンドラインオプションに --allow-file-access-from-files が表示されている事を確認します。
Windows でも、Chrome のショートカットを作成し、コマンドライン引数に --allow-file-access-from-files を追加すると同様の事ができます。