好的,在* <head>标签之前添加<script>标签*?

时间:2015-09-07 13:49:18

标签: javascript html dom

我知道你们大多数人都在想“为什么要这样做”?基本上我有一个缓存整个页面输出的CMS系统,所以我不能在&lt; head&gt; &lt; body&gt; 中包含这个特定的项目,因为我没有希望它被缓存。

&#xA;&#xA;

我在chrome,firefox,safari和Opera中成功尝试过它。事实上,这些浏览器似乎都会自动将其移动到页面渲染的&lt; head&gt; 中。我只想知道是否还有其他原因可以避免这种情况。

&#xA;

2 个答案:

答案 0 :(得分:1)

放置bodyhtml之外的内容根本不是正确的HTML。

input:focus { outline: none !important; border-color: #719ECE; box-shadow: 0 0 10px #719ECE; } textarea:focus { outline: none !important; border-color: #719ECE; box-shadow: 0 0 10px #719ECE; } 标记内容模型是:

  

头元素后跟一个body元素

http://www.w3.org/TR/html5/semantics.html#the-html-element

答案 1 :(得分:1)

如果你真的需要,没有特别的理由不这样做。面对各种奇怪的标记,浏览器具有惊人的弹性。例如,浏览器将在任何地方处理<style>标记,即使理论上它们应该放在<head>中。

话虽如此,你不能确定某些东西,某个时间,某个地方,不会以某种不愉快的方式破坏。

但是还没有替代方案,比如在缓存的HTML中包含一个单独的<script src=标记,它将由服务器单独处理并提供动态JS,而这似乎是你不能使用的#39} ; t想要缓存?