我的问题是 - 是否可以将 javascript 附加代码(<script>...</script>
包含验证等简单内容的标签 - 不链接到任何外部源)放在该<body>
部分的顶部某处?
<head>
将它放在那里和将代码放在该部分内有什么区别吗?
我想创建一个带有一个头部的布局文件。每个模板都有不同的 js 代码部分——创建指向 .js 文件的外部链接将禁用添加 PHP 标记的可能性,所以我必须找到另一种方法。
我的问题是 - 是否可以将 javascript 附加代码(<script>...</script>
包含验证等简单内容的标签 - 不链接到任何外部源)放在该<body>
部分的顶部某处?
<head>
将它放在那里和将代码放在该部分内有什么区别吗?
我想创建一个带有一个头部的布局文件。每个模板都有不同的 js 代码部分——创建指向 .js 文件的外部链接将禁用添加 PHP 标记的可能性,所以我必须找到另一种方法。
不仅可以将script
标签放入body
元素中,除非您有充分的理由将其放入head
,否则最好将其放入body
元素中,最好是在结束</body>
标签之前。这样,您的主要内容(您的标记)会尽快呈现给用户,而不是等待脚本文件加载/JavaScript 引擎启动并执行脚本。
参考:
关于您的评论的旁注:
每个模板都有不同的 js 代码部分——创建指向 .js 文件的外部链接将禁用添加 PHP 标记的可能性,所以我必须找到另一种方法。
理想情况下,尝试找到一种方法来只加载一个文件而不是一堆文件。每个 HTTP 请求都有大量开销。您将在上面的第一个链接中看到的建议之一是尽量减少 HTTP 请求的数量。
只要在您在页面上调用它之前包含了 javascript 代码,它在头部还是在正文的上半部分应该没有什么区别。如果您正在构建一个公共标头,最好将其分开。这样,您就不会调用未使用的代码。
事实上,将它放在顶部会降低性能,并且放置它是一个冒险的地方:
就在结束正文标记之前
http://developer.yahoo.com/performance/rules.html#js_bottom
将脚本放在底部 标签:javascript 脚本导致的问题是它们阻止了并行下载。HTTP/1.1 规范建议浏览器每个主机名并行下载不超过两个组件。如果您从多个主机名提供图像,则可以同时进行两次以上的下载。但是,在下载脚本时,浏览器不会启动任何其他下载,即使在不同的主机名上也是如此。在某些情况下,将脚本移到底部并不容易。例如,如果脚本使用 document.write 插入部分页面内容,则不能将其移至页面下方。也可能存在范围问题。在许多情况下,有一些方法可以解决这些情况。经常出现的另一种建议是使用延迟脚本。DEFER 属性指示脚本不包含 document.write,并且是浏览器可以继续呈现的线索。不幸的是,Firefox 不支持 DEFER 属性。在 Internet Explorer 中,脚本可能会被延迟,但不会像期望的那样延迟。如果可以推迟脚本,也可以将其移至页面底部。这将使您的网页加载速度更快。