javascript - 使用事件时在关闭 body 标签之前使用 script 标签的优点

标签 javascript html dom dom-events onload

<分区>

最近似乎人们建议将 script 标签放在结束的 body 标签之前..

        <script src="//javascript.js"></script>
    </body>
</html>

如果您立即运行脚本,这是一件好事,因为您的大部分 DOM 都已经加载完毕。但是,如果您使用 onloadDOMContentLoaded 事件来调用主脚本怎么办?在这种情况下,将您的脚本标记放在文档头部似乎没有什么不同,因为您的代码在 DOM 加载之前无论如何都不会执行。

当使用 onloadDOMContentLoaded 事件来运行您的脚本时,将您的脚本标签放在结束的 body 标签之上与 head 相比真的有任何优势吗?

另一方面,如果您不希望您的脚本在 DOM 加载之前执行,为什么不简单地将您的脚本标记放在结束 body 标记之前并在没有任何事件的情况下立即运行它。看起来这样可以在提供相同功能的同时节省几行代码。

最佳答案

我认为,他们在不同的上下文中运行 JS 代码,因为主体的标记结尾(内联源代码)是“顶级”代码,其中 DOMContentLoaded 处理程序位于事件监听器函数中。 DOMContentLoaded 也在脚本标签执行后执行。 正如我从我的小经验中看到的那样,DOMContentLoaded 仅在我无法控制标记的情况下才有用。

关于javascript - 使用事件时在关闭 body 标签之前使用 script 标签的优点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26441730/

相关文章:

javascript - 如何给JointJS元素一个删除工具?

javascript - 通过 Javascript 更改 HTML 页面的颜色

php - 在 PHP 中验证输入表单

javascript - 使用 PHP AJAX 或 js 操作后获取文档源

javascript - 每个()函数上的jquery load()一起工作

javascript - 在 Safari for Mac 中使用 Ctrl+Click 时如何禁用上下文菜单事件中的单击事件?

javascript - 自定义 Twitter oAuth 登录页面

javascript - 将样式对象应用于 DOM 元素

javascript - 最好将每次搜索的所有数据发送到客户端或查询服务器?

javascript - 如何让canvas/svg在图像上画圈?