我在div中收到一條消息,需要在未在Internet Explorer中查看的網頁上顯示該消息。我已經嘗試了標準<!--[if !IE]>
和其他一些建議,但無濟於事。在除IE外的每個瀏覽器中都顯示div
有什麼我失蹤了嗎?
我在div中收到一條消息,需要在未在Internet Explorer中查看的網頁上顯示該消息。我已經嘗試了標準<!--[if !IE]>
和其他一些建議,但無濟於事。在除IE外的每個瀏覽器中都顯示div
有什麼我失蹤了嗎?
我不建議你做這種方式!
首先,browser detection is evil,你應該儘可能避免使用。使用諸如Modernizr之類的功能進行功能檢測更加方便用戶。請記住,許多用戶(所有移動用戶,Mac用戶,Linux用戶)的即使他們想要,也不會有使用IE的選項。
話雖如此,這是可能的...
OK,讓我們說你的HTML是這樣的:
<div id='notOnIE'>Some content, do not display on IE.</div>
隱藏DIV
在IE9和更早版本:
首先,讓我們來檢測IE9-,使這個div無形之中IE:
<!--[if IE]>
<style type='text/css'>
#notOnIE{ display:none; }
</style>
<![endif]-->
隱藏DIV
在IE10:
現在,我們需要隱藏在IE10的DIV,它添加到您的CSS樣式表:
@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) {
#notOnIE{display:none;}
}
微軟故意打破,如果在IE10 IE標籤因爲它支持很多HTML5標準,人們(ab)使用這些標籤使他們的網站在IE中故意破解而不是渲染半工作版本。
注意:如果你想顯示在IE7的DIV
和更早版本:
在你的評論表明您已經測試IE8及以上,但IE7甚至6仍然有使用,所以如果你想以示對那些DIV
也一樣,你可以使用版本檢測:
<!--[if gte IE 8]>
<style>
#notOnIE{display:none;}
</style>
<![endif]-->
這個作品完美!非常感謝你!我花了好幾年時間研究這個問題,好幾個小時,但沒有出現這種情況。再一次感謝你! –
@ChrisTaylor沒問題,但請在某個時候嘗試Modernizr,它將在開發大衆市場網站時幫助您很多。 IE現在還不到市場的40%。 –
謝謝@LightningDust。我正在調查Modernizer。 –
的Internet Explorer 10和更大的,我想... –
首先,解釋爲什麼你需要這樣做,因爲可能有更好的方法來解決它。其次,給你更多的細節,你嘗試了什麼,你遇到了什麼問題。 – bPratik
讓我猜...消息說:「這個頁面在其他瀏覽器中效果最好」....?嚴重的是,不要這樣做。像這樣的瀏覽器檢測使我們一直回到20世紀90年代。這正是我們這些年來留給IE6遺留下來的東西。 – Spudley