2010-05-31 19 views
16

什麼是包裹在<!-- --> javascript代碼點包裝紙的JavaScript?在<!-- -->

+4

十多年前曾經有過一個觀點。現在沒有任何意義,實際上做得不好。 – womp 2010-05-31 16:36:19

+0

很久以前...哈哈...當我第一次開始寫JS代碼的時候,人們推薦這個...... – Warty 2010-05-31 17:54:22

+5

在javascript腳本中隱藏CDATA標籤是最新的寫代碼的方式。 – kennebec 2010-06-01 04:24:26

回答

24

這是我的眼中釘之一。這是一個古老的開發人員的做法,以「保護」不懂<script>標籤的舊瀏覽器。沒有它,他們可能無法加載頁面或將腳本內容顯示爲html內容。

但我們在這裏談論瀏覽器。唯一瀏覽器解析javascript失敗的是1995年代的瀏覽器。這些瀏覽器今天根本沒有使用。這種做法僅僅是90年代網絡發展的延續。

沒有人應該將<!-- -->塊放在腳本標記內容的周圍。

如果你看到開發商仍然這樣做,請予以糾正。自從現代瀏覽器的Netscape 1.0和this practice is actually considered harmful以來,不解析javascript並不是問題。

+0

+1你給我們的鏈接對於新手來說非常好 – 2010-05-31 16:39:56

+0

你應該看看一些服務器日誌。這個月,我有27次來自brosers的訪問者將Netscape 0.91和17分類爲Netscape 0.6。當然,代理字符串可以任意處理,但我不明白爲什麼有人會故意僞造這些版本。 – 2010-05-31 17:01:42

+4

我不覺得這是有意義的。你的整體流量中有多少比例是?你真的會努力成爲適用於Netscape 0.6的* one *網站嗎?你必須做更多的事情,而不僅僅是評論你的腳本標籤....我敢打賭,他們根本就不是一個合法的用戶,但是無論是人們使用僞造的瀏覽器字符串進行研究,還是像你提到的那樣。 – womp 2010-05-31 17:19:14

7

通過在HTML註釋包裹JavaScript代碼中,防止不從試圖把代碼作爲HTML支持Javascript舊版瀏覽器。

+1

-1 ......但那些只是古老的瀏覽器。見womp的答案。這是如此不配得上那麼多upvotes ... – naiad 2010-05-31 16:56:46

+0

womp的答案肯定是正確的。好的做法與否,與舊瀏覽器的兼容性是爲什麼人們仍然評論他們的Javascript。 – 2010-05-31 16:59:35

+0

我同意馬克。使用那些古老的瀏覽器的人口仍然很少> _>爲什麼?天知道。 – Warty 2010-05-31 17:56:29

0

舊的瀏覽器,不明白JavaScript只會看到一個HTML評論。

1

它可以防止要麼不知道<script>標籤的或者不從試圖解析或顯示JavaScript代碼爲HTML妥善處理用戶代理。

這是,你必須前往1990年代後期發現的瀏覽器版本不知道<script>標籤的普遍看法。然而,我自己的網站常常被實現非常基本的解析器的工具所捕捉(爲什麼不呢?您可以用10行PHP編寫一個抓取器)。而且我還發現,在從網站粘貼到應該接受剪貼板中的HTML的桌面應用程序之後,JavaScript代碼出現在文檔的中間。因此,在HTML註釋中轉義非HTML內容並不像看起來那麼愚蠢。

0

除了某些瀏覽器可能不支持它之外,還有另一個原因:W3C XHTML驗證程序(http://validator.w3.org)將不在註釋標記中的JavaScript解釋爲HTML。所以像「我< 0」將意味着你的網站不驗證,除非你使用這些標籤。

相關問題