Отображение сообщения, когда браузер не поддерживается

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

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

К вашему сведению, все эти ответы дико устарели. Я думаю, что этот Вопрос требует свежего ответа ...

Joshua Pinter 07.01.2015 20:16
Modernizer можно использовать для определения версии браузера. Взгляните на stackoverflow.com/questions/13478303/…. jQuery удалил jQuery.browser ()
LCJ 24.04.2017 06:48
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
18
2
68 217
9
Перейти к ответу Данный вопрос помечен как решенный

Ответы 9

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

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

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

Подробнее по теме:

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

Условные комментарии обеспечивает способ отображения содержимого только для определенных версий 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 08.12.2008 02:41

@nickf: почему не работает с IE 60-69? Требуется только первый символ версии браузера ... так что 6

Darryl Hein 13.12.2008 04:17

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/…

fearphage 09.05.2009 16:56

Хорошо, я сделаю это легко. Никаких всплывающих окон! Статистическая катастрофа. Вот небольшая деталь, которая находится поверх. Я действительно беспокоюсь только об 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, поэтому, если вы знаете, как это сделать, он может добавить большей специфичности.

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

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

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

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

И еще чтение:

Ссылка для выхода в Интернет больше не работает. Похоже, срок действия домена истек.

Fostah 03.01.2014 00:37

К вашему сведению, все это сильно устарело. Думаю, на этот вопрос нужен свежий ответ ...

Joshua Pinter 07.01.2015 20:15

https://browser-update.org

An initiative by web designers to inform users about browser-updates

Другие вопросы по теме