Script Element Between Head and Body. [HTML5] [closed]

匿名 (未验证) 提交于 2019-12-03 01:38:01

问题:

When validating with W3C, I received the response:

script element between head and body. [HTML5]

How is this specific to HTML5 versus regular XHTML validation?

HTML:

<!doctype html> <html> <head> <meta charset="UTF-8"> <title></title> <link href="services.css" rel="stylesheet" type="text/css"> <script></script> </head> <body>  <div id="container">    <div id="header">   </div>    <div id="body">   </div>    <div id="footer">   </div>  </div> <script></script> </body> </html> 

回答1:

You placed your scripts on an invalid spot.

You should place them within head or body tags. Every time you can, put them at the end of the body. This is to avoid blocking html rendering while dowloading scripts, improving site responsiveness.

From w3.org

The SCRIPT element places a script within a document. This element may appear any number of times in the HEAD or BODY of an HTML document.



回答2:

Just like the message says, this is invalid (not just script tags, but any tags):

</head> <tag/> <body> 

Those <script> tags need to be descendants of either <body> or <head>.



回答3:

Try placing your scripts within the body tag, at the bottom.



回答4:

As the message suggested, you have some scripts "floating" out head or body tags.

Move this inside head or body tags:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.9.0/jquery.min.js"></script> <script type="text/javascript" src="/fancybox/source/jquery.fancybox.pack.js?v=2.1.4">    </script> <link rel="stylesheet" type="text/css" href="/fancybox/source/jquery.fancybox.css?v=2.1.4" media="screen"> <script type="text/javascript">     $(document).ready(function() {         $('.fancybox').fancybox();     }); </script> 


标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!