Как отобразить браузер определенный HTML?

Вы можете изменить цвет фона, используя java для setError () динамически, как это

EditText.setError ("Your Error String"); EditText.setErrorColor (Color.parseColor ("# 000000"));

или EditText.setError ("Ваша строка ошибки"); EditText.setErrorColor (Color.BLUE);

10
задан Andrew 10 April 2009 в 20:54
поделиться

8 ответов

Я не думаю, что это возможно с тегами условных комментариев (которые работают только в Internet Explorer)

Конечно это. Вам просто нужно оставить содержимое для браузеров, не являющихся IE, в таком положении, чтобы оно было частью предложения условного комментария, но не находилось внутри . Тогда браузеры, которые не знают об условных комментариях, увидят контент в порядке. Это известно как условный комментарий , показанный на более низком уровне .

К сожалению, разметка, которую Microsoft дает вам, содержит недопустимый HTML (и даже не правильно сформированный XML). Чтобы это прошло, вам просто нужно добавить несколько дополнительных символов "-":

<!--[if IE]> This is IE! <![endif]-->
<!--[if !IE]><!--> This ain't IE! <!--<![endif]-->

Хотя я должен повторить неотвечающий ответ AnonJr, в связи с тем, что редко требуется полная ссылка / страница для IE по сравнению с другими браузерами. Если ты'

22
ответ дан 3 December 2019 в 13:32
поделиться

Это не будет популярным ответом, но, черт возьми, кто-то начал его публиковать - остановитесь с браузером- конкретный хлам. Вы только увековечиваете будущие проблемы, когда выходят новые версии.

Если разработчики заняли дополнительное время (да, это требует времени и тяжелой работы. Если вы не можете убедить своих клиентов, что вы не стараетесь достаточно), то мы бы не увидели, что IE7 «сломает сеть», и было бы еще меньше проблем с IE8.

Да, IE менее соответствует стандартам, чем другие. Но в Fx также отсутствуют некоторые вещи, которые тоже являются частью стандарта. Они все отстой, когда дело доходит до «стандартов». Но все они становятся лучше. (С разной скоростью, но все они становятся лучше.)

Сначала подумайте, почему вы пытаетесь это сделать,

[/ rant]

Редактировать: Чтобы ответить на некоторые комментарии, которые указывают на очевидный факт, что я действительно не ответил на вопрос, без дополнительной информации этот вопрос заставляет меня задуматься, не являемся ли мы пытаясь помочь человеку решить забить гвоздь стеклянной бутылкой или туфлей ...

14
ответ дан 3 December 2019 в 13:32
поделиться

Это одобренный Microsoft способ:

<!--[if IE]>
    <a href="ie-only.html">click here!</a>
<![endif]-->
<![if !IE]>
    <a href="all-other-browsers.html">click here!</a>
<![endif]>

Доступна дополнительная информация на http://msdn.microsoft.com/en-us/library/ms537512 (VS.85) .aspx .

Редактировать

Этот код гарантированно работает во всех текущих и будущие версии IE, начиная с IE 5. Для браузеров, отличных от IE, код работает, полагаясь на те браузеры, которые игнорируют «бессмысленный» тег , который они все делают, и Я никогда не видел, чтобы это провалилось.Для версии, которая использует только хорошие старые комментарии HTML, см. Ответ bobince , который я на самом деле предпочитаю предоставленному Microsoft решению.

6
ответ дан 3 December 2019 в 13:32
поделиться

Я не пробовал, но, возможно, вы могли бы использовать недостатки IE в CSS. Эрик Мейер написал эту статью на эту тему: Обман браузеров и скрытие стилей .

0
ответ дан 3 December 2019 в 13:32
поделиться

Может быть, выстрел в темноте, но сработает ли это?

<style>

    a.forIeOnly {display: none; }
    a.notForIe  {display: block; }

</style>

<!--[if ie]>

<style>
    a.forIeOnly {display: block;}
    a.notForIe  {display: none; }
</style>

<![endif]-->

<a href="#" class="forIeOnly">Link One</a>
<a href="#" class="notForIe">Link Two</a>

Это далеко не так чисто / привлекательно Можно было бы использовать оператор if / else, но ... это был самый простой способ реализовать решение. Хотя это может быть чревато проблемами само по себе.

2
ответ дан 3 December 2019 в 13:32
поделиться

Один из способов, который я выяснил, как это сделать:

Получить код JavaScript из http://www.quirksmode.org/js/detect.html и поместите его в тег .

Затем в теге используйте:

<script type="text/javascript">
<!--
if (BrowserDetect.browser == 'Explorer') {
    document.write('<a href="#">Explorer</a>');
} else {
    document.write('<a href="#">Other Browsers</a>');
}
// -->
</script>

Не уверен, что это самый простой способ сделать это, но это сделало работу.

2
ответ дан 3 December 2019 в 13:32
поделиться

Вы всегда можете использовать CSS, чтобы скрыть код от определенных браузеров. Например, учитывая следующий код:

<a href"ie-only.html" id="ie-only">click here!</a>
<a href"all-other-browsers.html" id="other-browsers">click here!</a>

Вы можете применить следующие хаки CSS, и соответствующие ссылки будут отображаться в соответствующих браузерах.

/* Display settings for most browsers */
#ie-only {display: none;}
#other-browsers {display: block;}

/* Display settings for IE <= 6 */
* html #ie-only {display: block;}
* html #other-browsers {display: none;}
0
ответ дан 3 December 2019 в 13:32
поделиться

IE поддерживает условную компиляцию , которую вы может использоваться для простой доставки кода, предназначенного только для IE, без необходимости прослушивания пользовательского агента или обнаружения функций.

/*@cc_on
   /*@if (@_jscript)
      alert("IE.");
   @else @*/
      alert("Not IE.");
   /*@end
@*/
0
ответ дан 3 December 2019 в 13:32
поделиться
Другие вопросы по тегам:

Похожие вопросы: