Возможен ли HTML для браузера?

0

Есть ли способ, которым может отображаться другой раздел кода HTML, на основе браузера, с которого пользователь просматривает? Например:

Показать этот div для IE7:

<div id="ie7styles"><p>This is my IE 7 text</p></div>

Показать этот div для каждого другого браузера:

<div id="mystyles"><p>This is every other browsers text</p><img src="#"></div>

Причина, по которой я хочу сделать это, состоит в том, что у меня есть простой эффект parallax CSS, но поскольку inherit и background-size не поддерживаются в IE7, я хотел бы, чтобы изображение по умолчанию просто отображалось при просмотре с IE7, поэтому нет разрыв.

  • 0
    Специально для IE есть условные комментарии . Google это.
  • 2
    Вы получите гораздо лучший ответ, если объясните, почему пытаетесь что-то сделать; есть хороший шанс, что есть другие альтернативные решения для вашей основной проблемы, которые могут быть лучше, чем наличие кода для конкретной версии браузера, но мы не сможем предложить эти решения, если не будем знать, в чем заключается основная проблема. ты пытаешься решить. Кроме того, чтобы избежать отрицательного ответа на вопросы, вы должны указать, что вы уже пробовали и почему это не сработало.
Показать ещё 1 комментарий
Теги:
browser
internet-explorer

2 ответа

1
Лучший ответ

вы можете использовать условные комментарии

<!--[if lte IE 7]>
    <div>What ever you need tho show here</div>
<![endif]-->

везде на вашем html

См. Http://css-tricks.com/how-to-create-an-ie-only-stylesheet/

для более разных браузеров. Он НЕ работает только для таблиц стилей.

Другим способом является пользовательский javascript. но я предпочитаю это решение.

ОБНОВИТЬ

У меня нет IE для тестирования, но теперь я думаю, что вы обновили вопрос и от того, что я вижу, у jQuery будет хорошее решение для изменения того, что вы хотите. Он должен искать элементы, которые вы хотите "изменить". Я привел пример, чтобы дать вам представление о том, как он может работать

http://jsfiddle.net/3PcxV/2/

Подумайте, используете ли вы это решение, каждый пользователь должен иметь javascript. Если он не хочет работать! Вот почему я предпочел бы решение выше. Другой способ - это вы можете изменить код только в одном месте и просто добавить класс к элементам, которые нужно изменить.

<div class="alwaysLikeThis">Lorem ipsum dolor sit amet.</div>
<div class="changeOnIe7">Show something else on IE7</div>
<div class="alwaysLikeThis changeOnIe7">Show something else on IE7</div>

<script type="text/javascript">
    $(document).ready(function(){
        if($.browser.msie && parseInt($.browser.version, 10) == 7) {
            alert("here");
           $( ".changeOnIe7" ).replaceWith( "<p class='newElement'>this is something else</p>" );
        }   
    });
</script>
0
  • 1
    Возможно, вы захотите уточнить свой ответ - на данный момент он действительно выглядит как нечто, что должно быть комментарием. Вы можете сделать это, объяснив его использование, предоставив примеры и их отношение к вопросу. Ответы только на ссылки, как правило, не одобряются, так как ссылки могут перестать работать на более позднем этапе.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню