Javascript html文件不会';无法从“我的模板”文件夹中运行

Javascript html文件不会';无法从“我的模板”文件夹中运行,javascript,python,html,d3.js,circle-pack,Javascript,Python,Html,D3.js,Circle Pack,我有一个FLask应用程序,在我的模板/文件夹中有一些html文件。我想在index.html中添加一个不错的D3可视化,所以首先我尝试将这个气泡示例复制/粘贴到我的模板/文件夹中名为bubbles.html的文件中: 我试图用Firefox打开bubbles.html,但只得到了空格,气泡应该在哪里。这就是奇怪的事情。当我从templates/文件夹中取出bubbles.html并从其他目录中打开它时,页面加载正确 有什么问题?如何将此绘图合并到我的应用程序中?请确保http服务器正确地提

我有一个FLask应用程序,在我的模板/文件夹中有一些html文件。我想在index.html中添加一个不错的D3可视化,所以首先我尝试将这个气泡示例复制/粘贴到我的模板/文件夹中名为bubbles.html的文件中:

我试图用Firefox打开bubbles.html,但只得到了空格,气泡应该在哪里。这就是奇怪的事情。当我从templates/文件夹中取出bubbles.html并从其他目录中打开它时,页面加载正确


有什么问题?如何将此绘图合并到我的应用程序中?

请确保http服务器正确地提供了您的文件。这里的主要问题是,您是否将json直接粘贴到正在创建的index.html中,或者是否使用单独的json文件

d3.json进行ajax调用以加载json文件。为了发出这个json请求,必须有一个http服务器为包含单独json文件的目录提供服务。这很可能就是为什么当您更改目录(可能是某个服务器正在提供服务的目录)时,会出现预期的图表。如果以内联方式将d3.json调用替换为对json的引用,则不需要服务器。相反,您应该能够使用浏览器从文件系统静态地查看示例,无论它位于哪个目录中


需要服务器的原因是由于w3c标准中描述的同源策略。您可以在本s.o.帖子中找到一个简单的解决方案:。它提供了两种解决方案,一种是为提供文件的目录生成http服务器,另一种是修改浏览器中的同源策略。基于安全标准,我建议使用服务器方法

我在Firefox中看到了这一点,气泡的加载可能需要一秒钟,但它们的加载非常好。