簡體   English   中英

如何在Ipython筆記本中添加外部javascript文件

[英]How to add external javascript file in Ipython notebook

我正在嘗試將cdn托管的d3.js添加到我的Ipython筆記本中

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
});

任何需要d3js的單元格,在下面包裝調用(例如你的console.log(d3); ):

require(['d3'], function(d3) {
    console.log(d3);  // or whatever
    return {};
});

更糟糕的解決方案可能是在這兩個單元格之間添加time.sleep time.sleep(1)

from IPython.display import HTML ,你不需要from IPython.display import HTML來使用%%html cell magic。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM