Qual è il modo migliore per mostrare un messaggio solo per IE 6 e IE 7?


11

Qual è il modo migliore per mostrare un messaggio di testo solo per IE 6 e IE 7?

Devo aggiungere un tag html alle mie pagine Web e normalmente nasconderlo con CSS per tutti i browser tranne quelli sopra menzionati?

E quando uso IE6 IE7, dovrei nascondere il sito Web con CSS e mostrare solo quel tag HTML?

Grazie


Il tuo obiettivo è mantenere gli utenti di IE6 e 7 fuori dal tuo sito Web?
John Conde

@John Conde yeah
aneuryzm,

Trova un virus IE 6 e 7 e inseriscilo nella tua pagina. Se vengono infettati, hanno IE, fanno in modo che il virus dirotti il ​​browser e mostri un messaggio di testo ogni volta che caricano il tuo sito ... Sto solo scherzando! ;)
Itai

Risposte:


0

È difficile limitare l'accesso a un sito Web tramite browser perché non esiste un modo sicuro al 100% per farlo.

Il tuo primo problema è lo spoofing utente-agente. I browser possono identificarsi con qualsiasi agente utente che desiderano. Tutti i browser con estensioni sembrano averne uno che lo rende banale. Se qualcuno con IE6 o IE7 ha cambiato il proprio user-agent in quello di IE8 o Firefox, accede a un sito Web.

È possibile utilizzare JavaScript per risolvere il problema utilizzando il rilevamento delle funzionalità . Fondamentalmente usi JavaScript per fare un semplice test: controlli per vedere se esiste una funzionalità che non esiste in IE6 o IE7. In caso contrario, sai che sono loro. Il problema è che se disattivano JavaScript lo ignorano facilmente.

Un approccio a più livelli sarebbe quello di annusare il browser sul lato server usando il loro user-agent, idealmente in Apache o IIS, e reindirizzare quegli utenti a una pagina dicendo loro che non supportano il loro browser. A proposito, è più educato che semplicemente nascondere il sito Web. Lo aumenterei con il metodo di rilevamento delle funzionalità JavaScript. Tra loro due catturerete tutti tranne gli utenti tecnicamente più esperti e le probabilità sono che non stiano usando IE6 o IE7.


@John Conde Le mie domande in realtà non riguardavano come rilevare il browser, ma come mostrare contenuti diversi una volta che il browser è stato rilevato
aneuryzm

1
È facile come un reindirizzamento a seconda di come si sceglie di annusare il browser. Se scegli Apache, reindirizza a una pagina speciale in un file .htaccess. Se scegli JavaScript usa window.location. Il solo tentativo di nascondere il sito Web con CSS rende comunque tutto disponibile all'utente. Non riescono a vederlo senza un piccolo sforzo. In questi modi li togli completamente dal contenuto.
John Conde

@ John Conde oh sì, hai ragione
aneuryzm,

5
esiste un modo sicuro al 100% per farlo, in particolare per i browser IE. e questo è commenti condizionali. dire che non c'è modo e quindi elaborare i modi in cui non funzionerà con gli user-agent non è una buona risposta a questa particolare domanda, dal momento che può essere fatto senza il rilevamento degli user-agent.
Evgeny,

2
Non posso credere che questa sia stata scelta come la risposta corretta.
Marco Demaio,

5

Commenti CSS condizionali o utilizzare il rilevamento del browser JQUERY:

Link ai commenti condizionali CSS

Collegamento al rilevamento del browser Jquery

Usando questi puoi impostare stili come nascondere i div del contenuto normale e visualizzare i div del contenuto alternativo. Oppure noi JS per modificare il contenuto e come viene visualizzato.

Se stai cercando di rimuovere tutto per gli utenti di IE6 e mostrare loro un messaggio che dice loro di aggiornare, puoi impostare il CSS in modo che nasconda tutto all'interno del corpo e lanciare un avviso onload con il rilevamento jquery. È duro, ma dovrebbe funzionare la maggior parte delle volte purché non stiano cercando di essere subdoli o aggirarli. Nel qual caso probabilmente non sono le persone a cui ti rivolgi.


+1 i commenti condizionali funzioneranno meglio nella maggior parte dei casi, poiché solo i browser IE li "capiscono".
Evgeny,

1
Usare il rilevamento del browser jQuery per mostrare un messaggio su IE 6/7 è come tentare di entrare nella tua casa attraverso la finestra invece di usare la porta.
Marco Demaio,

Marco quel commento è geniale! Purtroppo è una scelta che abbiamo nel nostro kit di strumenti, ma lo immaginerò sempre come arrampicarmi su una finestra della mia casa ora. Lo adoro!
XOPJ,


4

Aggiungi questo tipo di commento condizionale HTML nella sorgente HTML della tua pagina

<!--[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]-->

Tutto quanto sopra verrà ignorato come normale commento HTML da TUTTI i browser tranne IE che li analizzerà e si diffonderà di conseguenza.


0

Quindi - qual è il motivo per voler "nascondere il sito Web" da ie6 / 7? se si tratta di messaggi specifici dell'agente utente, voterei per i commenti condizionali.


0

sarebbe il motivo per cui mostreresti contenuti diversi è il motivo per cui stai usando HTML5, che non è compatibile con IE7 e precedenti?

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.