13
10

More than 5 years have passed since last update.

Google Chrome でローカルファイルのJSを実行できるようにする

Posted at

現象

ローカルで作成中の HTMLファイル(JavaScriptつき)をテスト実行しようとしたら、Google Chromeで表示してくれない。

  • [確認] ChromeのJavaScriptコンソールを開いてみる

XMLHttpRequest cannot load file:///(中略). Origin null is not allowed by Access-Control-Allow-Origin.
とエラー表示されている

解決法

Chrome の起動時に --allow-file-access-from-files というオプションをつける。

これを実現させる具体的な手順が思いつく人はここで読了です。
筆者は、Mac OS X上でいつも Dock からChrome を立ち上げているので、その手順はそのままに上記を実現したい人です。
ということで、以下そのやり方を記します。

Mac OS X でアイコンのダブルクリックで上記を実行する準備

1) Chrome を終了する
2) Mac にプリインストールされている AppleScript エディタを起動する
3) 下記のシェルコマンドを入力し、「実行」ボタンを押してみる

do shell script "/Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome --allow-file-access-from-files"

→これが正しくできていれば、次の2点を確認できる

  • Chrome が立ち上がる
  • 開きたかった JSつきHTMLファイルをそのChromeで読み込んでみて、JSが実行されている

4) AppleScript エディタに戻り、ファイル>保存で「アプリケーション」フォーマットで保存する。名前は自分がわかるものなら何でもいいけれど、例えば Google Chrome JS.app とか。
5) 保存した .app をアプリケーションフォルダに入れる。Dock を使っている人は、従来の Google Chrome.app を 4) と入れ替える。
6) 完了。あとは Google Chrome JS.app をクリックして起動してください。

ちょっと残念なこと(保留事項)

  • アイコンがJSデフォルトになるのが少々気に食わない
  • オリジナルの Google Chrome.app アプリも同時に立ち上がるので Dock の起動中アイコンが従来より1コ増える

Google Chrome JS.app のアイコンを入れ替えられれば少しはいいかな?でもすぐにはわからなかったのでとりあえず置いておく。

13
10
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13
10