GitHub -> JSFiddle目录结构错误

GitHub -> JSFiddle directory structure error

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

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

我想正确地link它到匹配的GitHub存储库:

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

但是 link 导致 JSFiddle 网站出现错误 "wrong data structure. Directory structure seems to be invalid. Is your URL valid? Check documentation."

底层 (public) 存储库在这里:

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

我尝试从 JSFiddle 演示开始:

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

并逐步复制粘贴,但这似乎 运行 JSFiddle(文件缓存)的其他问题。

(很抱歉没有直接 link 到上面的 JSFiddle,但是如果你有 JSFiddle link,Whosebug 会强制包含代码,但这个问题是关于 link ...)

更新: 将其移动到子目录"Demo",并更改link URL。现在至少它加载了,但它没有正确 运行。

查看上面的(参考 1)和(参考 2)。代码是相同的。然而,从 GitHub 中提取它与复制粘贴到新的 jsfiddle 中相比,会产生不同的结果。如果你启动一个新的 jsfiddle,复制粘贴 html、js 和 css 框架,并为 D3 添加外部依赖(https://d3js.org/d3.v4.min.js),然后一个新的 jsfiddle 运行很好。但是从 github 提升不会。

JSFiddle 在某个地方创建了稍微不同的环境?

尝试创建一个类似Demo的折叠并将文件放入其中。然后 url 看起来像

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

好像在root下无法识别demo文件

Update: source shows that jsfiddle will add window.onload wrapper for javascript in fresh fiddle while not因为它来自 github,这导致您的 javascript 加载早于 html。然后d3报错。

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

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