Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/419.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
电子页面导航:加载内容和附加的javascript 我正在尝试用electron创建一个基本的页面导航。_Javascript_Html_Node.js_Electron_Fs - Fatal编程技术网

电子页面导航:加载内容和附加的javascript 我正在尝试用electron创建一个基本的页面导航。

电子页面导航:加载内容和附加的javascript 我正在尝试用electron创建一个基本的页面导航。,javascript,html,node.js,electron,fs,Javascript,Html,Node.js,Electron,Fs,就我所能理解的而言,在导入中是用于该目的的。关于导入,我发现其已弃用的信息来自2020年2月的Chrome。 作为替代方案,可以使用节点模块fs。 我的问题:没有加载脚本 将内容和附加的javascript加载到div中的最佳方式是什么? 多亏了@娱乐,问题才得以解决。我已经更新了Git Repo。好的,首先,我们正在使用动态DOM元素。这意味着addEventListener将被计算一次,并且在您将新元素动态添加到DOM之后,它将不会被应用。您的winController.js中的此解决方案

就我所能理解的而言,在导入中是用于该目的的。关于导入,我发现其已弃用的信息来自2020年2月的Chrome。
作为替代方案,可以使用节点模块fs。 我的问题:没有加载脚本

将内容和附加的javascript加载到div中的最佳方式是什么?


多亏了@娱乐,问题才得以解决。我已经更新了Git Repo。

好的,首先,我们正在使用动态DOM元素。这意味着
addEventListener
将被计算一次,并且在您将新元素动态添加到DOM之后,它将不会被应用。您的
winController.js
中的此解决方案将有助于:

// Hello.addEventListener("click", function () {
//   loadPage("./assets/html/Hello.html", "content");
// });

// Info.addEventListener("click", function () {
//   loadPage("./assets/html/Info.html", "content");
// });

// This implementation doesn't care whether an element with the given id exists
document.addEventListener('click', function (e) {
  if (e.target && e.target.id == 'Hello') {
    loadPage('./assets/html/Hello.html', 'content');
  } else if (e.target && e.target.id == 'Info') {
    loadPage('./assets/html/Info.html', 'content');
  }
});
接下来删除
functions.js
文件中的
export
,不需要它:

function thanks() {
  alert('Thanks');
}
剩下的唯一一件事,也是最重要的一件事,就是动态更新加载
functions.js
文件的方式:

<!-- <script type="module" src="../js/functions.js"></script> -->
<script type="module">
  let script = document.createElement('script');
  script.src = './assets/js/functions.js';
  document.head.append(script);
  
  // function thanks() {
  //     alert("Thanks");
  //   }
  Say.addEventListener('click', function () {
    thanks();
  });
</script>

能否在loadPage函数中打印脚本[i].innerText并检查输出?此部分将被忽略。第二个脚本标记中的所有内容都会打印出来。好问题Broowwhy your home.html也包含标记吗?如果您将其加载到index.html中,您将有两个无效的标记。为了进一步帮助您,一些用于调查的github repo将非常有用。首先,为什么在您的示例中要加载winController.js两次?为什么不把它只放在index.html中呢?关于模块脚本,您是对的,但是在这里您使用了eval()函数来评估技巧的等级。我已将home.html限制在最低限度。关于WinController:如果WinController没有再次包含,它似乎不存在于div中(我将更新我的问题)。嘿,非常感谢您的回答。这里难道不应该也有进口吗<代码>异步函数加载(){let say=wait import(“../js/functions.js”);}load()您能给我一个提示吗?在这里我可以获得有关动态DOM和您编写的函数的更多信息?
<!-- <button type="submit" class="btn btn-success btn-lg mt-2" id="Info"> -->
<button type="submit" class="btn btn-success btn-lg mt-2" id="Hello">
  Jump to Hello
</button>