Отображать сообщение, когда браузер не поддерживается - PullRequest
16 голосов
/ 08 декабря 2008

Я хочу предупредить пользователей Internet Explorer 6, использующих мой сайт, что в прошлом у IE6 были серьезные проблемы с совместимостью с моим сайтом. Каков наилучший способ сделать это?

В идеале я хочу, чтобы появилось сообщение (не новое окно, а окно сообщения, если это возможно), которое предупреждает пользователей IE6 о проблемах и рекомендует обновить их до IE7, Firefox 3 или Opera 9.5.

Ответы [ 9 ]

32 голосов
/ 08 декабря 2008

Лучший способ нацелить IE - использовать условные комментарии. Затем вы можете добавить определенный HTML, который будет отображаться только в Internet Explorer.

<!--[if IE 6]>
<h1>Please upgrade your browser!</h1>
<![endif]-->

Больше по теме:

http://www.quirksmode.org/css/condcom.html

13 голосов
/ 06 апреля 2009

Хорошо, я сделаю это легко. Нет всплывающих окон! Статистическая катастрофа. Вот хороший маленький, который сидит на вершине. Я действительно очень переживаю за IE 6 или более раннюю версию, так как это самый большой виновник, когда дело доходит до путаницы в моих проектах. Ниже приводится условное утверждение (лучший способ, по моему мнению).

Вставьте это в голову (введите любой контент по вашему желанию):

<!--[if lte IE 6]>
<div id="warning">
<h4 class="red">Your Browser Is Not Supported!</h4><br />
<p>Please upgrade to <a href='http://getfirefox.com'>FireFox</a>, <a href='http://www.opera.com/download/'>Opera</a>, <a href='http://www.apple.com/safari/'>Safari</a> or <a href='http://www.microsoft.com/windows/downloads/ie/getitnow.mspx'>Internet Explorer 7 or 8</a>. Thank You!&nbsp;&nbsp;&nbsp;<a href="#" onClick="document.getElementById('warning').style.display = 'none';"><b>Close Window</b></a></p>
</div>
<![endif]-->

Вставьте это в свой внешний лист для укладки. Я бы не использовал встроенный стиль .

#warning        {position:relative; top:0px; width:100%; height:40px; background-color:#fff; margin-top:0px; padding:4px; border-bottom:solid 4px #000066}

Придумай как хочешь - сходи с ума! С помощью javascript вы можете очень точно определить любой браузер, поэтому, если вы знаете, как, он может добавить больше специфичности.

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

8 голосов
/ 08 декабря 2008

Если вы хотите определить, является ли это чем-то другим, кроме поддержки браузеров, вы можете использовать обнаружение браузера jQuery, что-то вроде:

<script type="text/javascript">
// check if browser is IE6 (when IE) or not FF6 (when FF)
if (($.browser.msie && $.browser.version.substr(0,1) == '6')
    || ($.browser.mozilla && $.browser.version.substr(0,1) != '3')) {
        $('#browserWarning').show();
}
</script>

Обновление: Как сказал другой , гораздо лучше использовать IE, если такие операторы, как:

<style type="text/css">
/* this would probably be in a CSS file */
#browserWarning { display:none; }
</style>
<!--[if IE 6]>
<style type="text/css">
#browserWarning { display:; }
</style>
<![endif]-->

Эта опция намного лучше, потому что она не требует версии браузера для "совершенства". Это не сработает, если вы хотите обнаружить другие браузеры, так как они не поддерживают операторы if. Тогда вы можете использовать jQuery для обнаружения браузера, хотя я бы порекомендовал стараться избегать его как можно больше.

5 голосов
/ 27 октября 2015

https://browser -update.org

Инициатива веб-дизайнеров по информированию пользователей об обновлениях браузера

5 голосов
/ 09 мая 2009

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

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

Для других комментаторов, с выпуском Internet Explorer 8 (который фактически добавил два дополнительных браузера для тестирования: стандарты + режим совместимости), Internet Explorer 6 начал свою работу. Этим людям пора обновить браузеры и в некоторых случаях операционные системы / компьютеры. Internet Explorer 6 сдерживает развитие Интернета. Это истощение ресурсов для поддержки. Он достиг статуса Netscape 4. Крупные сайты и компании тоже присоединяются к битве.

И еще чтение:

5 голосов
/ 08 декабря 2008

Условные комментарии предоставляют способ отображения содержимого только для определенных версий Internet Explorer.

<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]-->
2 голосов
/ 08 декабря 2008

Мой совет - не использовать всплывающее окно или окно сообщения. Они очень раздражают и делают для плохого пользовательского опыта. Лучше вставьте <div> с уведомлением и выделите его на остальной части страницы. Не переусердствуйте, просто назначьте ему несколько цветов, чтобы убедиться, что он не пропущен (и пожалуйста: не используйте <blink>; -)

1 голос
/ 08 декабря 2008

Хотя говорить пользователям об обновлении своих браузеров и о том, что они на самом деле делают это, было бы здорово, но на самом деле этого не произойдет. Если пользователь до сих пор не обновил свой браузер, это, как правило, имеет причину, отсутствие знаний о компьютере или отсутствие контроля над самим компьютером. Например, сотрудники просматривают ваш сайт на рабочих машинах.

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

0 голосов
/ 08 декабря 2008

Мое предложение будет исправить ваш сайт;) Нет, серьезно, я бы использовал небольшой баннер в верхней части страницы, как небольшие ненавязчивые диалоги в Firefox и IE. Не ящик сообщений или что-то, что могло бы мешать многим.

...