【发布时间】:2013-01-24 14:28:45
【问题描述】:
只有当 DOM 准备好时我才需要运行脚本,因为脚本会重写某些标签的某些属性。
目前我在DOMContentLoaded 上使用document.addEventListener,或者如果在onreadystatechange 上不可用document.attachEvent,如果两者都没有,我使用window.onload 功能。
我读到了 defer 标记应该在文档被解析之后执行的脚本。
- 这是否意味着通过设置
defer属性我可以在DOM 准备好时轻松执行我的脚本? - 我可能会错过一些隐藏的东西吗?
- 对 Opera、WebKit、Firefox、IE 的支持情况如何?
编辑:我知道像 JQuery 这样的库,但我不能使用它们,因为我需要非常小的脚本,所以我需要一个低级解决方案。
【问题讨论】:
-
保证在脚本运行之前加载文档的最简单方法是将
<script>标签放在<body>的末尾</body>之前,然后不需要使用延迟加载或等待文档加载。这是一个选择吗? -
@jfriend00 我需要我的脚本能够在任何地方。
-
Opera 不支持它(说MDN)。请问为什么你需要能够把它放在任何地方?
标签: javascript deferred-loading