将非函数脚本从 HTML 迁移到 JS 文件

Migrate non function script from HTML to JS file

提问人:Stalkium 提问时间:3/13/2021 更新时间:3/13/2021 访问量:140

问:

作为一个初学者,我遇到了一个问题,我遵循了几个意见的建议来保持我的 HTML 文件干净,所以我创建了一个 JS 文件并开始将所有脚本迁移到它,一切都很好,直到我不得不在其中做到这一点:

<script>
document.getElementById("mobile-toggle").addEventListener("click",function(){
document.getElementById("mobile-date").innerHTML = "Today is ...";});
</script>

当这个脚本是我的 HTML 文件时,它会自动由浏览器运行,但是当我把它放在 JS 文件中时,如果不使用函数名称调用它,它根本无法工作,这就是我想避免的,因为不显眼的 javascript 建议,所以我的问题是“有没有办法让 JS 文件中的脚本自动运行,而无需从 HTML 事件调用?

谢谢。

javascript html dom-events unobtrusive-javascript

评论


答:

1赞 Markus Zeller 3/13/2021 #1

将脚本包含在 HTML with defer 属性中。这将在 HTML 准备就绪时运行代码。您也可以将脚本标签放在末尾,但我更喜欢将其放在顶部。</body>

<head>
   <script src="/myscript.js" defer>
</head>

在 myscript.js 中

(function() {
   // your code goes here
})();

将其包装到一个函数中会给出您自己的范围,另一个包装会放入括号中,最后将执行。()

评论

0赞 Stalkium 3/13/2021
所以没关系,最好从HTML文件迁移所有脚本?还是只是没用?我的意思是它对SEO等有好处吗?
0赞 Markus Zeller 3/13/2021
这是非常基于意见的。我个人喜欢将代码与 HTML 分开,尤其是当您有很多代码时。如果你只有很少的几行,就没有什么可以反对内联代码的了。