javascript - 是否不可能在 Google colab 单元中加载 javascript 库?
问题描述
我有创建 HTML 以使用该_repr_html
方法可视化 Python 对象的 Python 代码。这意味着我可以通过简单地将对象放入display(obj)
我的单元格中,甚至只是将其obj
作为最后一个语句放入我的单元格中来显示对象。
该 HTML 从 Internet 加载 javascript 库,例如 jquery 库,如下所示:
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.5.1/jquery.min.js"></script>
但是,当这样的脚本标签是我尝试在 Colab 中可视化的 HTML 的一部分时,它会被完全删除!例如,单元格中的以下代码生成的输出不再包含 script 元素:
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
推荐阅读
- xml - 使用 XSLT 处理 XML 的逻辑。(条件)
- python - 有没有一种内存有效的方法来使用元组来迭代非常大的 os.scandir() 对象?
- python - 在半对数子图上设置纵横比
- android - Android分页库3如何使用RemoteMediator先从房间加载而不是等待远程响应
- opendaylight - 在 Opendaylight 中安装自定义功能或模块?
- python - 在批处理脚本中从 cmd 调用时找不到 git 命令
- css - 带边框和图像的六边形网格
- python - 将键值对添加到现有的 pandas 系列
- blazor - Blazor Timer 调用异步 API 任务来更新 UI
- c - char 数组和 putchar 的 strlen