質問: 現在d3.jsを用いてforceモデルを実装しようと考え、様々なサイトのソースをいったん実装しようと考えローカルな環境で実装していますが、chrome,IE共にクロスドメインの制約に引っ掛かり外部ファイルを読み込むことが出来ません。 参考にさせて頂いているサイト様: このサイト様のソースをそのまま実装しようとするとchromeでは 1.XMLHttpRequest cannot load file:///C:/Users/ryouta/Desktop/sample/timeseries.csv. Cross origin requests are only supported for protocol schemes: http, data, chrome, chrome-extension, https, chrome-extension-resource 2.Uncaught TypeError: Cannot read property 'length' of null このエラーが表示され、IEでは「アクセスが拒否されました」という表示がなされ読み込むことができません。 多くのことを調べgoogle chromeのリンクの後ろやcmdを管理者権限で立ち上げ --allow-file-access-from-filesを試したり、MIMEで.jsonを追加したり様々な手を加えましたがどうにもならない状況です。 HTMLとJavascriptを用いて実装しています。 どなたかお力添えをお願い致します。
回答: 詳しい説明ははぶきますが、XMLHttpRequest(d3.jsが使っているはずです)にはセキュリティ上の理由で制限があります。 解決方法としては、fileスキームの HTML から別の fileスキームの URL にアクセスできるブラウザ(Firefoxなどは出来たと思います)を使うという手もありますが、 開発中もローカルにサーバを立ち上げておき、そこでテストするのが結局一番楽です。 私は、Browsersync や Python3 の http.serverモジュールなどを使っています。