Jaki jest najlepszy sposób wyświetlenia komunikatu tylko dla IE 6 i IE 7?

11

Jaki jest najlepszy sposób pokazania wiadomości tekstowej tylko dla IE 6 i IE 7?

Czy powinienem dodać tag HTML do moich stron internetowych i normalnie ukryć go za pomocą css dla wszystkich przeglądarek oprócz wyżej wymienionych?

A kiedy korzystam z IE6 IE7, czy powinienem ukrywać witrynę za pomocą css i wyświetlać tylko ten tag HTML?

dzięki

aneuryzm
źródło
Czy Twoim celem jest, aby użytkownicy IE6 i 7 nie korzystali z Twojej witryny?
John Conde
@John Conde yeah
aneuryzm
Znajdź wirusa IE 6 i 7 i umieść go na swojej stronie. Jeśli zostaną zainfekowane, mają IE, powodują, że wirus przejmuje kontrolę nad przeglądarką i wyświetla SMS-a za każdym razem, gdy ładują twoją stronę ... Żartuję! ;)
Itai

Odpowiedzi:

0

Trudno jest ograniczyć dostęp do strony internetowej przez przeglądarkę, ponieważ nie ma w 100% niezawodnego sposobu, aby to zrobić.

Twój pierwszy problem to fałszowanie przez użytkownika. Przeglądarki mogą identyfikować się z dowolnym klientem użytkownika, który chcą. Wydaje się, że wszystkie przeglądarki z rozszerzeniami mają takie, które sprawiają, że robienie tego jest trywialne. Jeśli ktoś z IE6 lub IE7 zmieni swojego agenta użytkownika na IE8 lub Firefox, przejdzie na stronę internetową.

Możesz użyć JavaScript, aby rozwiązać ten problem za pomocą funkcji wykrywania . Zasadniczo używasz JavaScript do wykonania prostego testu: sprawdzasz, czy istnieje element funkcjonalności, który nie istnieje w IE6 lub IE7. Jeśli nie, wiesz, że to oni. Problem polega na tym, że jeśli wyłączą JavaScript, łatwo to ominą.

Podejściem wielopoziomowym byłoby wąchanie przeglądarki po stronie serwera przy użyciu klienta użytkownika, najlepiej w Apache lub IIS i przekierowywaniu tych użytkowników do strony z informacją, że nie obsługujesz ich przeglądarki. BTW, to bardziej grzeczne niż po prostu ukrywanie strony internetowej. Zwiększę to dzięki metodzie wykrywania funkcji JavaScript. Pomiędzy nimi złapiesz wszystkich oprócz najbardziej zaawansowanych technicznie użytkowników, a szanse są takie, że i tak nie używają IE6 ani IE7.

John Conde
źródło
@John Conde Moje pytania w rzeczywistości nie dotyczyły tego, jak wykryć przeglądarkę, ale jak wyświetlać inną zawartość po wykryciu przeglądarki
aneuryzm
1
To jest tak proste jak przekierowanie, w zależności od tego, jak wybierzesz opcję wąchania przeglądarki. Jeśli wybierzesz Apache, przekieruj na specjalną stronę w pliku .htaccess. Jeśli wybierzesz JavaScript, użyj window.location. Po prostu próba ukrycia strony za pomocą CSS wciąż udostępnia wszystko użytkownikowi. Po prostu nie widzą tego bez odrobiny wysiłku. W ten sposób całkowicie usuwasz je z treści.
John Conde
@John Conde o tak, masz rację
aneuryzm
5
istnieje w 100% niezawodny sposób, aby to zrobić, szczególnie w przeglądarkach IE. i to są komentarze warunkowe. powiedzenie, że nie ma sposobu, a następnie opracowanie sposobów, w jakie nie będzie on działać z klientami użytkownika, nie jest dobrą odpowiedzią na to konkretne pytanie, ponieważ można tego dokonać bez wykrycia klienta użytkownika.
Evgeny,
2
Nie mogę uwierzyć, że wybrano to jako prawidłową odpowiedź.
Marco Demaio,
5

Warunkowe komentowanie CSS lub użycie wykrywania przeglądarki JQUERY:

Link do komentarzy warunkowych CSS

Link do wykrywania przeglądarki Jquery

Za pomocą tych można ustawić style, takie jak ukrywanie div normalnej zawartości i wyświetlanie div alternatywnej zawartości. Lub nas JS, aby zmienić treść i sposób jej wyświetlania.

Jeśli chcesz po prostu usunąć wszystko dla użytkowników IE6 i wyświetlić im komunikat z informacją, że powinni dokonać aktualizacji, możesz ustawić CSS, aby ukrył wszystko w ciele i rzucił alert z wykryciem jquery. Jest to trudne, ale powinno działać przez większość czasu, o ile nie próbują się podstępnie omijać. W takim przypadku prawdopodobnie nie są to osoby, na które celujesz.

XOPJ
źródło
+1 komentarze warunkowe będą działać najlepiej w większości przypadków, ponieważ tylko przeglądarki IE je „rozumieją”.
Evgeny,
1
Korzystanie z funkcji wykrywania przeglądarki jQuery w celu wyświetlenia komunikatu w IE 6/7 przypomina próbę wejścia do domu przez okno zamiast korzystania z drzwi.
Marco Demaio,
Marco, ten komentarz jest genialny! Niestety jest to wybór, który mamy w naszym zestawie narzędzi, ale zawsze będę go sobie wyobrażał jako wchodzenie do okna w moim domu. Kocham to!
XOPJ
4

Dodaj tego typu komentarz warunkowy HTML do źródła HTML strony

<!--[if IE 6]>
<h1>Hello, u r using IE6, your message here</h1>
<![endif]-->

<!--[if IE 7]>
<h1>Hello, u r using IE7, your message here</h1>
<![endif]-->

<!--[if lt IE 8]>
<h1>Hello you are using a version of IE less than IE8, your message here</h1>
<![endif]-->

Wszystkie powyższe zostaną pominięte jak zwykły komentarz HTML przez WSZYSTKIE przeglądarki z wyjątkiem IE, która je przeanalizuje i odpowiednio wyświetli.

Marco Demaio
źródło
0

Więc - z jakiego powodu chcesz „ukryć stronę” przed ie6 / 7? jeśli chodzi o wiadomości specyficzne dla klienta użytkownika, głosowałbym na komentarze warunkowe.

folktrash
źródło
0

czy powodem, dla którego wyświetlasz inną treść, jest to, że używasz HTML5, który jest niezgodny z IE7 i niższymi wersjami?

Michael GP Moriarty
źródło