2013-06-05 2 views
-1

У меня есть сообщение в div, которое мне нужно показать на веб-странице, которая не просматривается в Internet Explorer. Я попробовал стандарт <!--[if !IE]> и некоторые другие предложения, но безуспешно.Показать div в каждом браузере, кроме IE

Есть ли что-то, что мне не хватает?

+0

Internet Explorer 10 и выше, я полагаю ... –

+3

Во-первых, объясните, почему вам нужно это делать, поскольку могут быть лучшие способы исправить это. Во-вторых, дайте более подробную информацию о том, что вы пробовали, и о том, с какими проблемами вы столкнулись. – bPratik

+0

Позвольте мне угадать ... в сообщении говорится: «Эта страница лучше всего просматривается в каком-то другом браузере» ....? Серьезно, не делайте этого. Такое обнаружение браузера возвращает нас к 1990-м годам. Это именно то, что оставило нас с наследием IE6 все эти годы. – Spudley

ответ

2

Я не рекомендую вам это делать!

Прежде всего, browser detection is evil, и вам следует избегать его там, где это возможно. Функция обнаружения с использованием чего-то вроде Modernizr - это более удобно. Помните, что много пользователей пользователей (все пользователи мобильных устройств, пользователи Mac, пользователи Linux) не смогут использовать IE, даже если они этого захотят.

Сказав, что, возможно ...

Хорошо, предположим, что ваш 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:

Теперь нам нужно скрыть DIV в IE10, добавьте в ваш CSS стилей:

@media screen and (-ms-high-contrast: active), (-ms-high-contrast: none) { 
    #notOnIE{display:none;} 
} 

Microsoft намеренно сломал, если IE теги в IE10 потому что он поддерживает множество стандартов HTML5, и люди (ab) используют эти теги, чтобы сделать их веб-сайты намеренно ломаться в IE, а не создавать полуработающие версии.

Working demo on jsFiddle.

Примечание: Если вы хотите, чтобы показать DIV на IE7 и раньше:

В вашем комментарии вы предположили, что вы испытали IE8 и выше, но IE7 и даже 6 до сих пор используют, так что если вы хотите показать DIV на тех, кто тоже, вы можете использовать определение версии:

<!--[if gte IE 8]> 
    <style> 
     #notOnIE{display:none;} 
    </style> 
<![endif]--> 

Working demo on jsFiddle.

+0

это работает отлично! Большое спасибо! Я провел много времени, исследуя это, несколько часов, и ничего подобного не появилось. Еще раз, спасибо! –

+0

@ChrisTaylor Нет проблем, но, пожалуйста, попробуйте Modernizr в какой-то момент, это поможет вам при разработке веб-сайта для массового рынка. Сейчас IE составляет менее 40% рынка. –

+0

Спасибо @ LightningDust. Сейчас я изучаю Модернизатор. –

Смежные вопросы