我有一个有效的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在某处创建了稍微不同的环境?
答案 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抱怨错误。
快速解决方案是为您的javascript添加window.onload
包装:
window.onload = function () {
// all your script
}