I have an html-file with several d3-graphs directly written in script tags into it. When I outsource one of the graphs into an external js file I get this message "NS_ERROR_DOM_BAD_URI: Access to restricted URI denied". If I delete the code with d3.json where it reads a local json file the error disappears. But it has to be possible to load a json file in an external js which is embedded into an html, right?

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

4 Answers

I was having the same error and the solution is to have your index.html, script.js and data.json in the same directory.

1

Specify your .json file relative to your .html file root

Ex:

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

I solved this issue by moving the JSON file to a subdirectory of the directory containing my html file.

BROKEN:

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

WORKING:

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

I have the same problem and I solved using the json file path like this:

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

if I access this path from the browser the file opens.

2

Your Answer

Sign up or log in

Sign up using Google Sign up using Facebook Sign up using Email and Password

Post as a guest

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy