我知道你们大多数人会想“你为什么要这么做”?基本上我有一个缓存整个页面输出的CMS系统,所以我不能在<head>
或<body>
中包含这个特定的项目,因为我不希望它被缓存。好的,添加<script>标记*之前* <head>标记?
我已经在Chrome,Firefox,safari和Opera中成功地尝试了它。实际上,这些浏览器似乎都会自动将其移至页面呈现中的<head>
。我只是想知道为什么我应该避免这种情况。
我知道你们大多数人会想“你为什么要这么做”?基本上我有一个缓存整个页面输出的CMS系统,所以我不能在<head>
或<body>
中包含这个特定的项目,因为我不希望它被缓存。好的,添加<script>标记*之前* <head>标记?
我已经在Chrome,Firefox,safari和Opera中成功地尝试了它。实际上,这些浏览器似乎都会自动将其移至页面呈现中的<head>
。我只是想知道为什么我应该避免这种情况。
没有特别的理由不这样做,如果你真的需要。面对各种奇怪的标记,浏览器非常有弹性。例如,浏览器根本就无法在任何地方处理<style>
标签,即使理论上他们应该去<head>
。
话虽如此,你不能确定某个地方某个地方不会以某种不愉快的方式破坏。
但是没有其他选择,比如在缓存的HTML中包含单独的<script src=
标记,它将由服务器单独处理并提供看起来不想缓存的动态JS?
谢谢,这是我从一个阅读完整问题的人寻找的有点答案。它实际上只包含一些可选的服务器诊断,我不想在'''
''内部添加,因为诊断输出会被缓存。注入只会在URL中追加'''diagnostics'''时发生,任何验证和政治正确性都不是考虑因素。 我也许可以按照你的建议去做,但那会包括加载另一个资源,即使它是空的。 – suncat100将东西放在head
或body
以外的地方根本就是不正确的HTML。
html
标签内容模型是:
的磁头元件,接着由主体元件
http://www.w3.org/TR/html5/semantics.html#the-html-element见。
对。但问题其实不是,我的网页是否会通过验证,但实际上,这样做会不会导致一些可怕的问题? – 2015-09-07 13:55:58
@torazaburo OP想要“为什么我应该避免这种情况的其他原因。”据我所知。 – idmean
当然,我认为不符合是避免它的理论原因。我认为OP已经知道它不符合要求,这就是他发布他的问题的原因。我有点解释他的问题是有**实际**的理由来避免它,就像某些情况下它不起作用。 – 2015-09-07 14:08:00
尝试在IE 6中使用(如果以后计算机仍然可用,您将会很幸运) – idmean
不,它不正确。但是,实际上,这是可以的。 – 2015-09-07 13:54:31
有趣的是,为什么人们看到需要投下这个问题。这是一个完全合法的问题。 – suncat100