我知道D3.js支持使用XHR和JSONP requests加载数据文件。
但是在我的情况下,我将通过从文件系统双击它们来运行.html文件,这将在浏览器上像file://.../foo.html
一样运行它。
是否可以在浏览器上将foo.html
上的数据文件(csv或json)加载到计算机的同一目录中(虽然没有在http://
但是file://
上运行)?
答案 0 :(得分:25)
最好的解决方案是在您的计算机上运行服务器以使其正常工作。
如here所述,拥有本地Web服务器的最简单方法是在您拥有源代码的目录中运行此命令:
python -m SimpleHTTPServer 8888 &
然后只需加载页面http://localhost:8888
答案 1 :(得分:4)
您可以通过在浏览器中禁用相应的安全机制。我认为默认情况下它适用于Opera,您可以使用--allow-file-access-from-files
命令行标记启动Chrome,以允许从file://
加载数据。
答案 2 :(得分:2)
与上面的Christopher Chiche的python答案类似,您也可以使用各种版本的PHP附带的内置服务器。
php -S localhost:8888 &
这对我来说更有用,因为我的应用程序已挂钩到php后端脚本以及d3前端。
答案 3 :(得分:2)
添加到 Christopher Chiche 的回答中(我是新用户,无法发表评论)。 对于 Windows 中的 python 3,该命令不起作用。而是使用这个
viewWillTransition
如here所述,在python 3中
<块引用>SimpleHTTPServer 模块已被 http.server 取代,至少在 Windows 中是这样。