2015-05-20 106 views
1

我有一個快樂的任務,在舊的Web應用程序上工作。在多個HTML文件,內嵌使用JavaScript語法如下:評論inline javascript

<body> 

html goes here... 

    <script> 
    <!-- 
     javascript goes here 
    --> 
    </script> 
</body> 

(編輯:腳本標籤是身體內部)

通知的HTML註釋是圍繞整個javascript代碼包裹。這並沒有做任何事情,因爲所有的瀏覽器都忽略腳本標籤中的html註釋。我的問題很簡單:爲什麼過去的開發者會這樣做?這是一種優化或跨瀏覽器問題,可以通過html評論「黑客」修復?

我已經刪除了現在的評論,一切看起來工作正常。

+0

哎呀,不好的格式顯示在純文本 給用戶,它們實際上是體內標籤。 – user1884155

回答

2

假設你<script>元素是的身體,而不是後,這是爲了讓不知道什麼是<script>元素忽略它的內容,而不是顯示它很舊的瀏覽器的解決方案(瀏覽器應該顯示爲文字標籤的內容,他們不明白)。

這個黑客應該很快就消失了,因爲很難找到瀏覽器不知道什麼是<script>元素,但不幸的是,由於一些糟糕的教程甚至最近還是建議這樣的構造,所以這種不好的做法沒有足夠快地死去。

請注意,正文和頭部之外的腳本元素無效。

2

在古代的javascript(1995),一些瀏覽器如Netscape 1.0沒有任何支持或知識的腳本標記。所以當JavaScript第一次發佈時,需要使用一種技術來隱藏舊版瀏覽器的代碼,這樣他們就不會將其顯示爲頁面中的文本。 'hack'是在腳本塊中使用HTML註釋來隱藏代碼。有關詳細說明檢查this link

source

1

內聯HTML註釋,以防止舊的瀏覽器不 從純文本 顯示腳本代碼瞭解腳本元素。

舊的瀏覽器不理解腳本元素將 解釋腳本元素作爲一個單一的 HTML註釋上面的全部內容,以「」開頭,有效 完全無視腳本。

如果HTML註釋是不存在,整個腳本會被這些瀏覽器

Source