Я хочу предупредить пользователей Internet Explorer 6, использующих мой сайт, что у IE6 в прошлом были серьезные проблемы совместимости с моим сайтом. Как лучше всего это сделать?
В идеале я хочу, чтобы появилось сообщение (не новое окно, а, если возможно, окно сообщения), которое предупреждает пользователей IE6 о проблемах и рекомендует обновить их до IE7, Firefox 3 или Opera 9.5.
Modernizer можно использовать для определения версии браузера. Взгляните на stackoverflow.com/questions/13478303/…. jQuery удалил jQuery.browser ()




Я предлагаю исправить ваш сайт;) Нет, серьезно, я бы использовал небольшой баннер в верхней части страницы, как небольшие ненавязчивые диалоги в Firefox и IE. Не ящик для сообщений или что-то такое, что могло бы сильно мешать.
Лучший способ настроить таргетинг на IE - использовать условные комментарии. Затем вы можете добавить определенный HTML-код, который будет отображаться только в Internet Explorer.
<!--[if IE 6]>
<h1>Please upgrade your browser!</h1>
<![endif]-->
Подробнее по теме:
Условные комментарии обеспечивает способ отображения содержимого только для определенных версий Internet Explorer.
<!--[if IE 6]>
Special instructions for IE 6 here
<![endif]-->
Мой совет - не использовать всплывающее окно или окно сообщения. Они очень раздражают и ухудшают взаимодействие с пользователем. Лучше вставьте немного <div> с уведомлением и выделите его на остальной части страницы. Не переусердствуйте, просто назначьте ему несколько цветов, чтобы убедиться, что он не пропущен
(и, пожалуйста: не используйте <blink> ;-)
Несмотря на то, что пользователям рекомендуется обновить свои браузеры, и они на самом деле это делают, было бы здорово, но на самом деле этого не произойдет. Если пользователь к настоящему времени не обновил свой браузер, обычно это связано с недостатком компьютерных знаний или отсутствием контроля над самим компьютером. Например, сотрудники просматривают ваш сайт на рабочих машинах.
Я действительно думаю, что вам следует пересмотреть решение проблем, которые могут возникнуть у ваших пользователей, или рассмотреть возможность прогрессивных улучшений. Идея состоит в том, что базовая функциональность вашего веб-сайта работает в каждом браузере, а любые дополнительные функции разрабатываются так, чтобы их можно было увидеть / использовать только в тех браузерах, которые могут их поддерживать.
Если вы хотите определить, поддерживает ли это что-то другое, кроме поддержки браузеров, вы можете использовать обнаружение браузера 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 if, такие как:
<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 для обнаружения браузера, хотя я бы рекомендовал по возможности избегать этого.
но это несовместимо с IE версий с 60 по 69!
@nickf: почему не работает с IE 60-69? Требуется только первый символ версии браузера ... так что 6
2 вещи не так с этой реализацией. Вы специально тестируете IE6 вместо IE <7, и ваше представление о синтаксическом разборе версии нарушено, что и имел в виду nickf. Было бы лучше, если бы вы разбирали версию как int или float (if (parseInt($.browser.version) < 7) { ... }). Ваша текущая реализация определяет IE версий с 60 по 69 как версию 6. Opera версии 10 находится в альфа-версии, и уже заметны подводные камни (плохого) определения браузером, поскольку люди определяют версию 10 как версию 1. my.opera.com/Andrew%20Gregory/blog/2008/05/11/…
Хорошо, я сделаю это легко. Никаких всплывающих окон! Статистическая катастрофа. Вот небольшая деталь, которая находится поверх. Я действительно беспокоюсь только об 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! <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, поэтому, если вы знаете, как это сделать, он может добавить большей специфичности.
Это будет симпатичная маленькая коробка, которая будет располагаться поверх вашего контента и позволит вашим пользователям увидеть, что их браузер - отстой.
Существует проект под названием Толкайся в сети, который советует всем пользователям перейти на более новые версии своих браузеров. Это ненавязчиво и легко добавляется.
Как предполагают некоторые, лучше всего использовать условные комментарии для эффективного нацеливания на Internet Explorer.
Для других комментаторов, с выпуском Internet Explorer 8 (который фактически добавил два дополнительных браузера для тестирования: стандарты + режим совместимости), Internet Explorer 6 исчерпал себя. Этим людям пора обновить браузеры и, в некоторых случаях, операционные системы / компьютеры. Internet Explorer 6 - это сдерживание прогресс Интернета. Это истощение ресурсов для поддержки. Он получил статус Netscape 4. Крупные сайты и компании также присоединяются к битве.
И еще чтение:
Ссылка для выхода в Интернет больше не работает. Похоже, срок действия домена истек.
К вашему сведению, все это сильно устарело. Думаю, на этот вопрос нужен свежий ответ ...
An initiative by web designers to inform users about browser-updates
К вашему сведению, все эти ответы дико устарели. Я думаю, что этот Вопрос требует свежего ответа ...