我编写了一个 jupyter 笔记本扩展。它将一个项目添加到内核菜单中,单击该项目后,将启动一个包含表单的模式对话框。
该表单目前完全用 JavaScript 定义。例如,document.createElement("form") 等。我怎样才能在 HTML 文件中定义它并将该 HTML 导入到 javascript 代码中?我尝试使用 jquery 的加载方法,如下所示:
var form = document.createElement("form");
form.id = "form";
$( "#form" ).load("form.html");
其中 form.html 与 javascript 代码位于同一目录中。然而,什么也没有发生。控制台中没有注意到任何错误。此行为与未找到 HTML 文件一致。我相信 _jupyter_nbextension_paths 不会将 HTML 文件与 javascript 文件一起复制。因此,没有任何内容被加载。
我查看了现有的 jupyter 笔记本扩展,但没有找到有人将 html 导入其 javascript 代码的示例。
最佳答案
我的最终解决方案是将我的html放在变量FORM_HTML中传递给jquery,然后通过jupyter的dialog library显示在模式中。看起来像这样
define([
"base/js/dialog"
], function(dialog){
dialog.modal({
title: "title",
body: $(FORM_HTML),
open: onModalOpen,
buttons: {
Exit: {id: EXIT_BUTTON_ID},
}
});
})
关于jquery - Jupyter Notebook 扩展 - 加载 HTML,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50323035/