簡體   English   中英

是<script> tags outside <head> and <body> permitted in HTML?

[英]Are <script> tags outside <head> and <body> permitted in HTML?

根據此博客文章“ 優化異步Google Analytics(分析)代碼段和評論”,我提出了一個經過優化的Google Universal Analytics(分析程序)代碼段,該代碼段較短,運行速度更快(盡管略有提高),並且破壞了IE6 / IE7 / oldIE8 *兼容性。

+function(G,o,O,g){G.GoogleAnalyticsObject=O;G[O]||(G[O]=function(){(G[O].q=G[O].q||[]).push(arguments)});G[O].l=+new Date;g=o.createElement('script');g.src='//www.google-analytics.com/analytics.js';o.documentElement.appendChild(g)}(this,document,'ga');
ga('create', 'UA-XXXX-Y', 'auto');
ga('send', 'pageview');

但是,將上面的代碼段放在<head> ,它會將Universal Analytics腳本插入為</head><body>之間的子<html> ,而不是<head><body>而不是<html><body>

關閉頭部標簽和打開身體標簽之間的腳本

盡管IE8 +和現代瀏覽器似乎沒有問題,但我仍然擔心它可能會破壞較舊的移動瀏覽器或某些其他晦澀的非IE瀏覽器。

HTML規范中是否有任何地方描述了瀏覽器對放置在<head><body>之外的標記的反應?

* Windows XP上未打補丁的香草IE8將像IE6和IE7一樣中止頁面加載,並產生HTML Parsing Error: Unable to modify the parent container element before the child element is closed (KB927917)錯誤。 安裝累積安全更新后,從2010年4月首次發布的KB980182開始並包含在后續更新中(KB982381,KB2183461,KB2360131,KB2416400,KB2482017,KB2497640,KB2530548,KB2559049,KB2586448,KB2618444,KB2647516,KB2675157,KB2699988,KB2722913,KB2744842 ,KB2761465,KB2792100,KB2809289,KB2817183,KB2829530,KB2838727,KB2846071,KB2862772,KB2870699,KB2879017,KB2888505,KB2898785,KB2909921)解決了此問題。

是的 ,最好在底部添加Javascript腳本標簽

  • 因為這些腳本會阻止並行下載。
  • 下載腳本時,瀏覽器將不會開始其他任何下載。
  • 幫助更快地加載頁面

參考雅虎開發人員

這被認為是wpo的最佳做法,因為主體會在觸發腳本元素之前進行渲染。

我不確定它是否有效,您必須檢查規格或通過驗證器運行它...但是它的性能非常差

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM