当我在我的 Electron 应用程序中加载嵌套的 HTML 时,我的脚本代码没有被调用,我不知道为什么。
<div id="leftsidebar">
</div>
<div id="rightsidebar">
</div>
<div id="main" class="mainContent">
</div>
<script>
const fs = require('fs');
// Loads the html required for the side bar
fs.readFile('leftSideBar.html', (err, data) => {
document.getElementById('leftsidebar').innerHTML = data;
});
fs.readFile('rightSideBar.html', (err, data) => {
document.getElementById('rightsidebar').innerHTML = data;
});
function loadMainWindowHTML(htmlString) {
fs.readFile(htmlString, (err, data) => {
document.getElementById('main').innerHTML = data;
});
}
</script>
这是我主窗口中的主要 HTML 代码,当我单击左侧栏中的某个元素时,它应该对我要打开的 HTML 文件执行 loadMainWindowHTML()。
<div id="myleftSidebar" class="leftSideBar">
<a href="#" onclick="loadMainWindowHTML('searchUser.html')">Search User</a>
</div>
HTML 文件是这样调用的,并正确加载到 id 为 main 的 div 中,但是,searchUser.html 中的脚本永远不会执行。
<head>
<title>Document</title>
<script>
console.log("do we reach?");
</script>
</head>
日志永远不会出现在任何地方。对此有任何解释或修复吗?
最佳答案
您可以使用此处的任何答案,不能使用 innerHTML 将脚本放入内部。我的解决方案是将 html 和脚本放在单独的文件中,然后将脚本放在新的脚本元素中。 Can scripts be inserted with innerHTML?
关于javascript - 如何在嵌套的html文件中执行脚本代码?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56433737/