Pra*_*nka 8 javascript ipython d3.js
我正在尝试将cdn托管的d3.js添加到我的Ipython笔记本中

但是当我第一次加载笔记本时,我得到"Javascript错误添加输出",但如果我再次运行单元格它可以正常工作.难道我做错了什么?提前致谢.
您可能会导致竞争条件,其中IPython解释器可以在一瞬间愉快地将您的HTML片段添加到DOM,然后在加载/处理D3js脚本之前触发JavaScript命令.我不是浏览器如何加载/执行JS的专家,但可能会有不同的事情,因为你在页面加载后就这样做了.
可能是矫枉过正,但你可以使用RequireJS(无论如何加载,因为这是Jupyter用来管理库的东西).从这个问题改编的片段:
第一个细胞:
%%javascript
requirejs.config({
paths: {
'd3': ['//cdnjs.cloudflare.com/ajax/libs/d3/3.5.6/d3'],
}, // strip .js ^, require adds it back
});
Run Code Online (Sandbox Code Playgroud)
任何需要d3js的单元格,console.log(d3);包括以下内容的调用(例如你的):
require(['d3'], function(d3) {
console.log(d3); // or whatever
return {};
});
Run Code Online (Sandbox Code Playgroud)
一个更黑客的解决方案可能是time.sleep(1)在这两个单元格之间添加一个.
顺便说一句,你不需要
from IPython.display import HTML使用%%html细胞魔法.
| 归档时间: |
|
| 查看次数: |
3308 次 |
| 最近记录: |