[英]ELECTRON - Load local HTML file containing a script tag
我是Node和Electron的新手,所以我可能对此不太满意。
本质上,我想做的是创建一个具有主导航的SPA,用户可以单击链接来加载包含脚本标签的本地HTML文件。 目前,我有一个使用fs来捕获html文件并将其成功加载到div中的主页,但是该检索到的文件中的JS均不起作用。 我这样做是因为我需要与UI交互并添加动态元素
这是我的代码:
mainWindow.html
<script>
document.addEventListener('DOMContentLoaded', () => {
fs.readFile(path.join(__dirname, 'fragments/main/welcome.html'), 'utf8', (err, data) => {
document.getElementById('content').innerHTML = data;
});
});
</script>
welcome.html
<section class="main-content-wide">
<h1>Welcome to my app</h1>
<p id="datetimeGreeting"></p>
<p id="funFact"></p>
<script>
console.log('Hello world');
</script>
提前致谢。
编辑:如果有人有更好的方法或“最佳实践”的方法,我很想听听。
这可能有效,请尝试并让我知道。
<script>
document.addEventListener('DOMContentLoaded', () => {
fs.readFile(path.join(__dirname, 'fragments/main/welcome.html'), 'utf8', (err, data) => {
document.getElementById('content').innerHTML = data;
var scripts = document.getElementById('content').getElementsByTagName("script");
for (var i = 0; i < scripts.length; i++) {
eval(scripts[i].innerText);
}
});
});
</script>
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.