javascript - 电子页面导航:加载内容和附加的 javascript
问题描述
我正在尝试在电子中创建一个基本的页面导航。
在电子 api 演示中,导入用于该目的(据我所知)。关于导入,我发现它已于 2020 年 2 月从 Chrome 中删除
并已弃用的信息。
作为替代方案,可以使用Node-module fs 。我的问题:脚本没有加载。
将内容和附加的 javascript 加载到 div 的最佳方法是什么?
感谢@Entertain,问题可以解决。我已经更新了 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');
}
});
接下来删除文件export
中functions.js
的 ,不需要它:
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>
就是这样,在此更改后,您的警报应该触发!
编辑:重命名Hello.Html
为Hello.html
取悦,或者将来最好将所有内容都写成小写,以防止进一步的错误:hello.html
和info.html
。
注意:在您的Info.html
文件中,您的按钮 ID 错误:
<!-- <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>
推荐阅读
- django - 类型错误:create_user() 缺少 2 个必需的位置参数:Django Rest Framework 中的“电子邮件”和“密码”
- vue.js - 尝试实现 vue-echarts 库的基本示例时出现错误
- raspberry-pi - 在 Debian 软件包已经安装后,我如何知道是谁签署了它?
- jsf - JSF - 控制 h:outputLink 编码 ISO8859_1/UTF-8?
- php - PHP MYSQL Insert into with switch 语句
- reactjs - Kendo UI - ChipList - 专注于第一次单击并禁用选定的类
- python - 使用定义的函数在 Python 中指定 DataFrame 名称,以便在另一个定义的函数中使用
- c# - 如何从另一个服务方法调用 WCF 服务?
- javascript - 有什么方法可以停止引导轮播幻灯片的自动播放?
- flutter - 我在 Flutter 中从本地主机获取数据时遇到问题