2017-05-04 72 views
0

你能告訴我IE瀏覽器會發生什麼情況嗎?這個IE條件黑客的意圖是什麼?

<!DOCTYPE html><!--[if lt IE 9]><html class="no-js lt-ie9" lang="en" dir="ltr"><![endif]--><!--[if gt IE 8]><!--> 
<html class="no-js" lang="en" dir="ltr"> 
<!--<![endif]--> 
<head> 
... 

我可以理解,非IE瀏覽器將只解釋:

<html class="no-js" lang="en" dir="ltr"> 

但對於大於IE8是不是賺了很多感的條件:

<!--[if lt IE 9]> ... <!--[if gt IE 8]><!--> 
<html class="no-js" lang="en" dir="ltr"> 
<!--<![endif]--> 

是這是一個黑客?打開和關閉註釋的符號不匹配。

回答

0

額外的!--位可以使它成爲一個有效的HTML註釋,以便驗證器不會抱怨僞造的註釋。更多關於那herehere。非IE瀏覽器真正看到的是分別包含[if gt IE 8]><!<![endif]的兩個常規HTML註釋。

條件註釋允許大於IE8看到<html>標記。正如您已經正確指出的那樣,非IE瀏覽器也將使用相同的<html>標籤 - !--位是允許它們這樣做的。我不會把它稱爲黑客,但是再次,有條件的評論自己可能是一個黑客,取決於你問誰(我當然不這麼認爲)。

+0

謝謝,很難嘗試搜索「」。 – Bhoboco