web-dev-qa-db-ja.com

「NS_ERROR_DOM_BAD_URI:制限されたURIへのアクセスが拒否されました」

スクリプトタグで直接書き込まれたいくつかのd3グラフを含むhtmlファイルがあります。グラフの1つを外部jsファイルにアウトソースすると、「NS_ERROR_DOM_BAD_URI:制限付きURIへのアクセスが拒否されました」というメッセージが表示されます。ローカルjsonファイルを読み取るd3.jsonのコードを削除すると、エラーが消えます。しかし、htmlに埋め込まれた外部jsにjsonファイルをロードできる必要があります。

d3.json("forcetree.json", function(json) {
root = json;
update();
});
17
Schnodderbalken

私は同じエラーを抱えていましたが、解決策はindex.html、script.js、data.jsonを同じディレクトリに置くことです。

20
KJP

.htmlファイルルートを基準にして.jsonファイルを指定します

例:

d3.json("js/forcetree.json", function(json) {
  root = json;
  update();
});
6
aftrix

JSONファイルを、htmlファイルを含むディレクトリのサブディレクトリに移動することで、この問題を解決しました。

壊れた:

www/
  code/
    hello.html    # refers to ../data/hello.json
  data/
    hello.json

ワーキング:

www/
  hello.html      # refers to data/hello.json
  data/
    hello.json
0
giraffe.guru

私は同じ問題を抱えており、私はこのようなjsonファイルパスを使用して解決します:

d3.json("file:///C:/path/...../js/forcetree.json", function(json) {
  root = json;
  update();
});

ブラウザからこのパスにアクセスすると、ファイルはURLを開きます。

0
TotPeRo