是否无法在 Google colab 单元中加载 javascript 库?

Is it impossible to load a javascript library in a Google colab cell?

我有 Python 代码创建 HTML 以使用 _repr_html 方法可视化 Python 对象。这意味着我可以通过简单地将 display(obj) 放在我的单元格中或什至只是将 obj 作为我单元格中的最后一条语句来显示对象。

HTML 从 Internet 加载 javascript 库,例如jquery 库是这样的:

<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>

然而,当这样的脚本标签是 HTML 的一部分时,我尝试在 Colab 中可视化,它被完全删除了! 例如,单元格中的以下代码生成不再包含脚本元素的输出:

HTML("""
<div id="containing"
<div id="div1">
  some text
</div>  
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
</div>
""")

另一种方法是在每个单元格 (<script type="text/javascript>..actual javascript ...<script>) 中包含逐字 javascript 代码,这可行,但似乎是不必要的开销。

有没有更优雅的方案?


这是一个例子:

from IPython.display import HTML, Javascript, display
from google.colab import output

display(HTML("""
<div id="div1">
  some text
</div>  
"""))

display(Javascript(url="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"))

output.eval_js('''
 $("#div1").append("<p>Hello, JQuery</p>");
''');

包含此示例的完整笔记本是: https://colab.research.google.com/drive/1xnfhiVsm6u_TkSoni0WaGydigOCPj5Mw