Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/479.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在Squarespace上托管d3.js可视化_Javascript_Python_Json_D3.js_Squarespace - Fatal编程技术网

Javascript 在Squarespace上托管d3.js可视化

Javascript 在Squarespace上托管d3.js可视化,javascript,python,json,d3.js,squarespace,Javascript,Python,Json,D3.js,Squarespace,我最近看到两篇博客文章(,),详细介绍了在Squarespace上实现d3.js可视化的方法。我有兴趣将一个交互式网络可视化上传到我的Squarespace网站,所以我试着按照这些博客文章中的说明进行操作,但我似乎无法看到任何可视化效果 以下是我的工作流程简介。首先,我按照上面的说明下载了一些数据,并使用用于Python的networkx包的d3_j3插件创建了一个共引网络可视化。在该站点上的测试数据上运行该站点上的脚本会生成一个cites.js文件、一个cites.json文件和一个cites

我最近看到两篇博客文章(,),详细介绍了在Squarespace上实现d3.js可视化的方法。我有兴趣将一个交互式网络可视化上传到我的Squarespace网站,所以我试着按照这些博客文章中的说明进行操作,但我似乎无法看到任何可视化效果

以下是我的工作流程简介。首先,我按照上面的说明下载了一些数据,并使用用于Python的networkx包的d3_j3插件创建了一个共引网络可视化。在该站点上的测试数据上运行该站点上的脚本会生成一个cites.js文件、一个cites.json文件和一个cites.html文件,并将这些文件放在一个包含子目录d3的目录中,其中包含d3.js、d3.geom.js、d3.layout.js和force.css。如果双击cites.html文件,我会在浏览器窗口中看到所需的viz。(是上述压缩格式的目录。)

问题是我似乎无法将可视化加载到Squarespace上。在Toke Frello的博客文章之后,我修改了cites.js文件的第5行,使其为:

var vis=d3.选择(“.sqs块内容”)

然后,我修改了该文件的第10行,使其可读:

d3.json(“/s/cites.json”),函数(json){

(修改后的文件。)然后我将d3.js——以及cites.js、cites.json、d3geom.js和d3layout.js——上传到我网站上的/s/目录,转到Blog-->高级-->发布Blog项目代码注入并插入:

最后,我访问了我的博客,在旧页面上创建了一个新的代码块,使用下拉菜单将该代码块标识为html代码,并键入:

<script type="text/javascript" src="/s/d3.js"></script>
<script type="text/javascript" src="/s/d3geom.js"></script>
<script type="text/javascript" src="/s/d3layout.js"></script>
<script type="text/javascript" src="/s/mod_cites.js"></script>

我保存了页面并试图在浏览器中查看它,我看到的只是一个大的白色矩形,viz应该出现在这个矩形中。如果有人能就我可能尝试使可视化显示的步骤提供任何见解,我将不胜感激


p.S.Squarespace自动将d3.geom.js重命名为d3geom.js,并自动将d3.layout.js重命名为d3layout.js。我似乎无法阻止这种重命名。

当网站上显示空白区域时,您应该查看开发人员工具中的网络跟踪以及控制台中的页面错误。这是一个屏幕截图显示错误根本原因的工具有:

在您的例子中,SquareSpace试图从中提供JSON数据,而您运行的可视化脚本无法从中加载数据

我不知道如何让SquareSpace在不重写其URL的情况下托管.json文件。他们的留言板上有几条关于这一点,我认为您可能需要通过电子邮件向SquareSpace支持部门寻求答案


我使用SquareSpace的朋友在他们需要支持时有过很好的体验。

因此一年半后,我想出了一个相当简单的方法来实现这一点。因为SquareSpace将.json文件上传到随机服务器(截至2015年底)如果不为传出资产提供CORS头,则需要将相关的.json文件上载到启用CORS头的可靠服务器。为此,我使用Amazon Web Service的S3。使用Amazon cli,可以使用以下命令将文件上载到bucket:

aws s3 cp dirToCopy/ s3://myBucketName --content-type application/json --acl public-read

然后可以从js应用程序(如d3.js)调用
dirToCopy
中的文件来自Squarespace。

您是否有指向Squarespace上出现故障的博文的链接?这听起来像是您需要在错误控制台中查看才能解决的问题,而且我没有Squarespace站点来测试.zip文件。非常感谢您的回复,@WillAngley!这是一个指向博文的链接:如果我要尝试诊断s使用Chrome的开发者工具,我会寻找什么样的东西?