2017-09-05 34 views
1

我有一个可用的JSFiddle示例。这恰好是一个D3的demo,但是这不是一个直接的问题D3(至少我不这么认为):GitHub - > JSFiddle目录结构错误

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

我想正确链接到匹配的GitHub库:

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

但是该链接导致JSFiddle站点发生错误,说明“数据结构错误,目录结构似乎无效,请问您的URL是否有效?请检查文档。

底层的(公共)存储库是在这里:

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

我试图从的jsfiddle演示开始:

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

和复制粘贴增量,但这似乎只是碰上其他JSFiddle问题(文件缓存)。

(道歉没有直接联系上面的jsfiddle,但StackOverflow上约束了包括代码,如果你有一个的jsfiddle链接,但这个问题是关于链接...)

更新:移动它到一个子目录“Demo”,并更改了链接URL。现在至少它加载,但它不能正常运行。

看看上面的(参考1)和(参考2)。代码是相同的。然而,将它从GitHub中提取出来,然后复制到一个新的jsfiddle中,会产生不同的结果。如果你开始一个新的jsfiddle,复制粘贴html,js和css框架,并添加D3的外部依赖项(https://d3js.org/d3.v4.min.js),那么新鲜的jsfiddle运行良好。但是从github解除并不是。

JSFiddle创造了一些稍微不同的环境?

回答

2

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

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

看来,演示文件不能在根被识别。

更新:源显示的jsfiddle将在新的小提琴加window.onload包装为JavaScript,而不是从github上,这会导致你的JavaScript加载比你更早的HTML。然后d3抱怨错误。

enter image description here

一个快速的解决方案将是添加window.onload包装为你的JavaScript:

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

哈哈!好的,工作。 (总是爱信息错误消息...) –

+0

更正,部分工作,现在至少加载环境,但不会运行,环境似乎有点不同。这是一个与我的OP不同的问题,但如果有人快速回答,我会留下最新的问题。但我会关闭并分配答案,因为你确实回答了原来的问题。 –

+0

这个更新,这解释了行为的差异。 thx再次。 –