JavaScript延迟
在关闭JavaScript延迟,javascript,head,deferred,placement,Javascript,Head,Deferred,Placement,在关闭标记之前放置标记是否与将它们放置在部分并指定defer=“defer”属性的sa相同 多谢各位 延迟需要Gecko 1.9.1这一版本 布尔属性设置为指示 向浏览器显示脚本的含义 待文件完成后执行 已解析。因为这个功能还没有实现 然而,所有其他国家都实施了这一计划 主要浏览器,作者不应 假设脚本的执行 实际上会被推迟。不要打电话 来自延迟脚本的document.write() (从Gecko 1.9.2开始,这将 把文件拿走)。推迟 属性不应用于脚本 没有src属性的。 自Gecko 1.
标记之前放置
标记是否与将它们放置在
部分并指定defer=“defer”
属性的sa相同
多谢各位
延迟需要Gecko 1.9.1这一版本
布尔属性设置为指示
向浏览器显示脚本的含义
待文件完成后执行
已解析。因为这个功能还没有实现
然而,所有其他国家都实施了这一计划
主要浏览器,作者不应
假设脚本的执行
实际上会被推迟。不要打电话
来自延迟脚本的document.write()
(从Gecko 1.9.2开始,这将
把文件拿走)。推迟
属性不应用于脚本
没有src属性的。
自Gecko 1.9.2以来,延迟属性
在没有
src属性。然而,在壁虎
1.9.1如果设置了延迟属性,则即使内联脚本也会延迟
当文档完成解析后,
标记末尾的内容类似,但不完全相同
还需要注意的是,这仅适用于具有外部src
集的脚本。是/否
是,因为放置defer标记要等到文档加载后才能执行
否,因为将
放在
标记之前并不一定意味着文档已完全加载,因为在结束正文标记和结束HTML标记之间可以有其他标记。范例
<html>
<head>
</head>
<body>
<script>...</script>
</body>
<link/>
<script>
although it is invalid HTML most browsers will render tags outside the body. This is
probably more of an error in code
<div> some content</div>
</html>
...
尽管它是无效的HTML,但大多数浏览器都会在主体之外呈现标记。这是
可能更多的是代码中的错误
一些内容
还要注意的是,脚本标记的defer属性在所有浏览器中都不起作用
编辑:
关于更快加载页面的性能,您可能想看看本文,它提供了一些指导原则,包括将脚本和css放在何处
通常是的,但是浏览器不保证在加载页面后执行JavaScript,除非您指定(defer=“defer”)。我不明白,这不是我说的:加载DOM后,他们将使用defer=“defer”执行代码吗?您的问题是:X和Y是一样的吗?事实上,在大多数情况下,它们都是一样的。我所说的是,这是不确定的。也就是说,浏览器不会告诉您:“如果您将脚本放在末尾,它将在加载后执行”。他们通常会这样做,但如果他们在呈现页面之前运行您的脚本,他们将不会违反他们的文档,因为这些文档后来没有说明这一点。我要求的是速度,不能在JavaScript中使用DOM,我将使用事件。页面结构等不需要放在主体之前的JavaScript,因此可以在页面可查看之后最后加载。我不明白你说“不”是什么意思。“将标签放在标记之前并不一定意味着文档已完全加载,因为在结束正文标记和结束HTML标记之间可以有其他选项卡”为什么我会在和之间有标记?@Francisc我编辑了我的答案,因为我有一些格式问题。很抱歉。关于你对速度的评论。我想提到的唯一一点是,浏览器将根据需要缓存JS文件,而您实际上不会在缓存中加载JS文件。使用延迟并不一定对您有利,因为延迟只会在页面完全加载之前停止执行。它不会延迟获取脚本文件本身的调用。因此,在您的实例中,您需要将脚本标记放在
标记之后,以获得更好的性能。@JohnHartsock对较差的跨浏览器支持没有任何评论?@Raynos我提到过延迟属性“在所有浏览器中都不起作用”@JohnHartsock我提到过我是盲人吗?不知道我怎么会错过。