什麼是包裹在<!-- -->
javascript代碼點包裝紙的JavaScript?在<!-- -->
回答
這是我的眼中釘之一。這是一個古老的開發人員的做法,以「保護」不懂<script>
標籤的舊瀏覽器。沒有它,他們可能無法加載頁面或將腳本內容顯示爲html內容。
但我們在這裏談論古瀏覽器。唯一瀏覽器解析javascript失敗的是1995年代的瀏覽器。這些瀏覽器今天根本沒有使用。這種做法僅僅是90年代網絡發展的延續。
沒有人應該將<!-- -->
塊放在腳本標記內容的周圍。
如果你看到開發商仍然這樣做,請予以糾正。自從現代瀏覽器的Netscape 1.0和this practice is actually considered harmful以來,不解析javascript並不是問題。
+1你給我們的鏈接對於新手來說非常好 – 2010-05-31 16:39:56
你應該看看一些服務器日誌。這個月,我有27次來自brosers的訪問者將Netscape 0.91和17分類爲Netscape 0.6。當然,代理字符串可以任意處理,但我不明白爲什麼有人會故意僞造這些版本。 – 2010-05-31 17:01:42
我不覺得這是有意義的。你的整體流量中有多少比例是?你真的會努力成爲適用於Netscape 0.6的* one *網站嗎?你必須做更多的事情,而不僅僅是評論你的腳本標籤....我敢打賭,他們根本就不是一個合法的用戶,但是無論是人們使用僞造的瀏覽器字符串進行研究,還是像你提到的那樣。 – womp 2010-05-31 17:19:14
舊的瀏覽器,不明白JavaScript只會看到一個HTML評論。
它可以防止要麼不知道<script>
標籤的或者不從試圖解析或顯示JavaScript代碼爲HTML妥善處理用戶代理。
這是,你必須前往1990年代後期發現的瀏覽器版本不知道<script>
標籤的普遍看法。然而,我自己的網站常常被實現非常基本的解析器的工具所捕捉(爲什麼不呢?您可以用10行PHP編寫一個抓取器)。而且我還發現,在從網站粘貼到應該接受剪貼板中的HTML的桌面應用程序之後,JavaScript代碼出現在文檔的中間。因此,在HTML註釋中轉義非HTML內容並不像看起來那麼愚蠢。
除了某些瀏覽器可能不支持它之外,還有另一個原因:W3C XHTML驗證程序(http://validator.w3.org)將不在註釋標記中的JavaScript解釋爲HTML。所以像「我< 0」將意味着你的網站不驗證,除非你使用這些標籤。
- 1. 使<b></b><i></i><u>在文本框</u>和<br>
- 2. 在<c:if><c:if>
- 3. 使用</p> <pre><code>$programItem[0]->Name </code></pre> <p>在名稱
- 4. 浮動元素<br /><br /><br /><br /><br /\><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br /><br />
- 5. 無法在<strong>ASP.NET</strong>和<strong>C#</strong>在ASP.NET
- 6. 使用>>,>,> |,||,| <,<,<<,<<
- 7. 替換&amp;&,<lt < and > gt gt to gt在javascript中
- 8. 從</p> <pre><code>HttpContext.Current.Request.RequestContext.RouteData </code></pre> <p>在
- 9. 如</p> <p><code><p>This is text </p></code>或<code><div></code>或<code>This is text</code></p> <p>使用<code>XmlPullParser</code>檢索URL
- 10. 如何運行</p> <blockquote> <p><strong>$ django-admin.py runserver</strong></p> </blockquote> <p>當初始化在OSX 10.7(獅子)
- 11. 通過</p> <pre><code><cfquery name="keyTypeGroup"> SELECT DISTINCT keyTypeGroup FROM data.keyType </cfquery> </code></pre> <p>在ORM
- 12. 什麼` 「</p> <pre><code>__m_uvm_status_container.scope.set_arg_element(`"ARG`",i); </code></pre> <p>什麼的<code>"ARG</code>在宏SV
- 13. <%# %> VS <%= %>
- 14. startMonitoringSignificantLocationChanges從未在<code>iOS 8</code></p> <p>iOS8上
- 15. NSCollectionView拖動 - 在<code>drawRect</code></li> <li>拖動時
- 16. 多<html><body></html></body>在同一個文件
- 17. 我如何使用<option></option><sup></sup>在HTML中
- 18. 刪除在<br> <code>ABC:=ABCD<br> BCD:=BCDE<br> CDE:=CDEF</code></p> <p>在多行文本文件的
- 19. <ContentControl><ContentPresenter /></ ContentControl>?
- 20. <textview></textview>與<textview />
- 21. <TextView /> OR <TextView></TextView>
- 22. <script></script> or <script />?
- 23. ArrayList <Object <ArrayList <Object> >>
- 24. <asp:XXXX > vs <%# %>/<%@ %>
- 25. 含義值抓<code>R = 0</code>,<code>R = S</code>,<code>R = S*Da</code>含義和<code>kCGBlendMode</code>值如<code>kCGBlendModeClear</code>,<code>kCGBlendModeCopy</code>,<code>kCGBlendModeSourceIn</code>定義
- 26. 的MySQL/PHP:<code>id</code>,<code>name</code>,<code>category</code>和一個<code>ratings</code>表列:<code>id</code>,<code>item</code>,<code>rating</code>如何使用JOIN語句
- 27. 的Grails:前</p> <pre><code><g:if test="${foo.bar}"> </code></pre> <p>和</p> <pre><code><g:if test="\${foo.bar}"> </code></pre> <p>使用 「\」 的真正爲例:\ $ {}和$ {}
- 28. 通配符搜索<pre><code>IsCurrent </code></pre> <p>換句話說找到</p> <pre><code>get_XXXX(); </code></pre> <p>與</p> <pre><code>XXXX; </code></pre> <p>我試圖做到這一點是較大的文件</p>
- 29. 我可以在哪裏登錄ASP.NET Core應用程序的開始/停止/錯誤事件?</p> <ul> <li><code>Application_Start()</code></li> <li><code>Application_End()</code></li> <li><code>Application_Error()</code></li> </ul> <p>怎麼辦:
- 30. BEGIN語句是否在Redshift中啓動新的交易?從S3</p> <ol> <li><p>複製到一個臨時表</p></li> <li><p>BEGIN</p></li> <li><p>多個命令......</p></li> </ol> <p>我看到 -
十多年前曾經有過一個觀點。現在沒有任何意義,實際上做得不好。 – womp 2010-05-31 16:36:19
很久以前...哈哈...當我第一次開始寫JS代碼的時候,人們推薦這個...... – Warty 2010-05-31 17:54:22
在javascript腳本中隱藏CDATA標籤是最新的寫代碼的方式。 – kennebec 2010-06-01 04:24:26