css - less.js not working in chrome - Stack Overflow -
これは Chrome のセッキュリティ機能の1つで、ローカルの javascript ファイル読み込むときに起こる問題として知られているものです。
--allow-file-access-from-files フラグをつけて Chromium や Chrome を起動すれば less の javascript ファイルが正しく動きます。
List of Chromium Command Line Switches
Dart のアプリケーションで less を使いたい場合、デフォルトで Dartium (Chromium をベースにしている) が起動するので、上記と同じ問題が起こります。
そこで、Dartium を起動するときに --allow-file-access-from-files フラグをつけられればいいということになります。
Dart アプリケーションの起動は、DartEditor の [Tools] - [Manage Launches...] でカスタマイズできます。
- Dartium Launch ではフラグも設定できないし、起動するブラウザも指定できません(=ショートカットとか作れない)
- Dart Web Launch ではフラグは設定できませんが、起動するブラウザを指定できます。さらに指定されたブラウザがすでに起動している場合は、新しいタブで実行されます。
Dartium Launch
Dart Web Launch
そのため、
- 1. DartEditor の起動設定で dark-sdk 内の Chromium を起動する Dart Web Launch を作っておく(起動ターゲットは less を使った Dart アプリケーション)
- 2. コンソールから --allow-file-access-from-files をつけて dart-sdk 内の Chromium を起動する
- 3. DartEditor から less を使った Dart アプリケーションを 1. の Dart Web Launch で起動する
これで DartEditor で作成しているローカルの Dart アプリケーションで less が動くようになります。
*アプリ毎に Dart Web Launch 作るのは面倒なので、デフォルトの Dartium に flag 指定できるようにならないかなー。。。
自分の環境だと、DartEditorからのDartiumでの実行時に、自動でローカルサーバーが立ち、そこにアクセス形で実行されます。
返信削除なので、--allow-file-access-from-filesの指定無しでもXMLHttpRequestでデータ取得ができるようになり喜びました。