在Jupyter Notebook中使用来自Ipython.core.display的Javascript时了解命名空间

时间:2016-11-10 23:06:10

标签: javascript ipython jupyter-notebook

我无法理解IPython中提供的Javascript函数的命名空间。

from IPython.core.display import display, Javascript
display(Javascript(u"""
var variable = 'Hello'
console.log(variable)
"""))
[output]
Hello

以上似乎工作正常,但以下引发了错误。

display(Javascript(u"""
var variable = 'Hello'
"""))
display(Javascript(u"""
console.log(variable)
"""))
[output]
Javascript error adding output!
ReferenceError: variable is not defined
See your browser Javascript console for more details.

如果我想将数据保存到一个函数中的一个变量中,比如ajax调用,并在jupyter笔记本中的另一个函数中使用它,那么这样做的最佳实践方法是什么?我当前的实现使用Window来存储变量。

display(Javascript(u"""
var variable = 'Hello'
Window.variable = variable
"""))
display(Javascript(u"""
console.log(Window.variable)
"""))
[output]
Hello

另一个相关问题 - 即使将其存储在Window后,我也无法从javascript控制台访问该变量。我也想从javascript控制台访问它以进行调试,但是希望使用最佳实践。建议?

编辑:

以下似乎工作正常。

display(HTML(u"""

<script>
variable='Hello'
</script>
"""))

display(HTML(u"""

<script>
console.log(variable)
</script>
"""))

0 个答案:

没有答案