GitHub - > JSFiddle目录结构错误

时间:2017-09-05 02:45:30

标签: d3.js github jsfiddle

我有一个有效的JSFiddle示例。它恰好是一个D3演示,但这不是一个D3问题(至少我不这么认为):

https://jsfiddle.net/petersmagnusson/dofamupd/#  (Ref "1")

我想将其正确链接到匹配的GitHub存储库:

http://jsfiddle.net/gh/get/library/pure/Magnusson-Institute/m008/tree/master/Demo/  (Ref "2")

但是该链接导致JSFiddle网站发出错误,指出"错误的数据结构。目录结构似乎无效。您的网址有效吗?检查文档。"

底层(公共)存储库位于:

https://github.com/Magnusson-Institute/m008

我尝试从JSFiddle演示开始:

https://github.com/zalun/jsFiddleGithubDemo/tree/master/Demo/

并且逐渐复制粘贴,但这似乎与JSFiddle(文件缓存)的其他问题相关。

(上面没有直接链接到JSFiddle的道歉,但如果你有一个JSFiddle链接,StackOverflow强制包含代码,但这个问题是关于链接...)

更新:将其移至子目录" Demo",并更改了链接网址。现在至少它会加载,但它不能正常运行。

请看上面的(参考文献1)和(参考文献2)。代码完全相同。然而,将它从GitHub提升,与复制粘贴成一个新鲜的jsfiddle,会产生不同的结果。如果你开始一个新的jsfiddle,复制粘贴html,js和css帧,并为D3添加外部依赖(https://d3js.org/d3.v4.min.js),然后一个新的jsfiddle运行正常。但是从github解除并不是。

JSFiddle在某处创建了稍微不同的环境?

1 个答案:

答案 0 :(得分:2)

尝试创建像Demo这样的折叠并将文件放入其中。然后网址看起来像

http://jsfiddle.net/gh/get/library/pure/Magnusson-Institute/m008/tree/master/Demo/

似乎无法在root中识别演示文件。

更新:来源显示jsfiddle将为新鲜小提琴中的javascript添加window.onload包装,而不是来自github,这导致您的javascript加载早于您的html。然后d3抱怨错误。

enter image description here

快速解决方案是为您的javascript添加window.onload包装:

window.onload = function () {
    // all your script
}