我写了一个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代码的示例。
答案 0 :(得分:1)
我的最终解决方案涉及将我的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},
}
});
})