Punto informatico Network
Login Esegui login | Non sei registrato? Iscriviti ora (è gratuito!)
Username: Password:
  • Annuncio Pubblicitario

Impostare messaggio per utenti con IE

Cerchi consigli per migliorare il tuo sito? Vuoi aprire un sito in poco tempo?
Discuti con altri webmaster, chiedi chiarimenti ed opinioni in tutta libertà.
Lo spam verrà cancellato.

Impostare messaggio per utenti con IE

Messaggioda Fred » sab mar 15, 2008 6:17 pm

Salve a tutti, avrei bisogno di capire come posso far comparire un messaggio ai soli utenti che utilizzano IE per visitare il mio sito. Io nella mia homepage ho già lo script php per capire il browser usato e ho intuito che devo usare un IF del tipo
Codice: Seleziona tutto
if MSIE<script>alert('messaggio')</script>
ma non so se è corretto e comunque dove posizionarlo.
Un ringraziamento a tutti quelli che risponderanno
P.S.:mi è venuta un'altra idea, se modificassi in questo script:
Codice: Seleziona tutto
else if(ereg("MSIE"      , getenv("HTTP_USER_AGENT"))) {$Browser = "IE ;(";         }
aggiungendo da qualche parte un "and" e lo script sopra postato?
Asus M3N78SE;AMD Athlon 64X2 5200+@5400;2 GB DDR2;NVIDIA GeForce 9500GT;Windows 7 Pro 64bit;
AcerASPIRE5230;Windows 7 Pro 64bit
Skype: nellopc90
Avatar utente
Fred
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3623
Iscritto il: mer apr 27, 2005 4:13 pm
Località: Urbe

Messaggioda gialloporpora » dom mar 16, 2008 2:10 am

Senza usare nessuno script esterno (che è utile se vuoi sniffare l'esatto user agent e OS), se è solo per visualizzare un ad agli IE like:


Codice: Seleziona tutto

<?php
if (preg_match('#MSIE [a-z0-9.]+#i',$_SERVER['HTTP_USER_AGENT'])) {
?>
<div class="browser-ie">
quanto messo qui (HTML) viene visualizzato da browser IE o compatibili (Avant, Maxthon, e robaccia simile)
Questo è più bello:
<a href="http://www.spreadfirefox.com/node&amp;id=201822&amp;t=215"><img border="0" alt="Firefox 2" title="Firefox 2" src="http://sfx-images.mozilla.org/affiliates/Buttons/firefox2/firefox-spread-btn-4.png"/></a>
</div>
<?} ?>
<div>
questo codice HTML viene mostrato a tutti
</div>



non lo ho provato ma sono quasi sicuro che non ho fatto errori [bleh]

Comunque dovrebbe funzionare anche il commenting in HTML
http://www.quirksmode.org/css/condcom.html


Ciao

Il codice HTMl te lo cambi come vuoi, li c'è il mio banner personale di spreadfirefox (quindi ci dovrei anche guadagnare punti [:)] )
Albert Einstein: « 10 cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi »
Avatar utente
gialloporpora
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1780
Iscritto il: mer lug 27, 2005 11:55 pm

Messaggioda Fred » lun mar 17, 2008 11:46 am

Ok, grazie, il tuo codice funziona! Una sola curiosità:
Codice: Seleziona tutto
'#MSIE [a-z0-9.]+#i'
Che fa?
Codice: Seleziona tutto
[a-z0-9.]+#i
A che serve?
Grazie di tutto
Asus M3N78SE;AMD Athlon 64X2 5200+@5400;2 GB DDR2;NVIDIA GeForce 9500GT;Windows 7 Pro 64bit;
AcerASPIRE5230;Windows 7 Pro 64bit
Skype: nellopc90
Avatar utente
Fred
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3623
Iscritto il: mer apr 27, 2005 4:13 pm
Località: Urbe


Messaggioda gialloporpora » lun mar 17, 2008 2:06 pm

Fred ha scritto:Ok, grazie, il tuo codice funziona! Una sola curiosità:
Codice: Seleziona tutto
'#MSIE [a-z0-9.]+#i'
Che fa?
Codice: Seleziona tutto
[a-z0-9.]+#i
A che serve?
Grazie di tutto


si, è una regex
http://it.wikipedia.org/wiki/Regex

tradotto:
se l'user agent contiene il pattern fra # # allora è IE, la parte:
[a-z0-9]+ serve per trovare la versione, nel tuo caso la puoi togliere, non cambia nulla, il flag "i" vuol dire ignorecase (es msie = MSIE = mSiE" ...), in realtà è quasi sempre in maiuscolo, ma non si sa mai....

Ciao
Albert Einstein: « 10 cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi »
Avatar utente
gialloporpora
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1780
Iscritto il: mer lug 27, 2005 11:55 pm

Messaggioda Fred » lun mar 17, 2008 2:12 pm

Ok, grazie per la delucidazione.
Asus M3N78SE;AMD Athlon 64X2 5200+@5400;2 GB DDR2;NVIDIA GeForce 9500GT;Windows 7 Pro 64bit;
AcerASPIRE5230;Windows 7 Pro 64bit
Skype: nellopc90
Avatar utente
Fred
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3623
Iscritto il: mer apr 27, 2005 4:13 pm
Località: Urbe

Messaggioda Fred » lun mar 17, 2008 9:47 pm

Un'ultima cosa: io ho creato lo script
Codice: Seleziona tutto
<?php
if (preg_match('#MSIE [a-z0-9.]+#i',$_SERVER['HTTP_USER_AGENT'])) {
?>
<div class="browser-ie">
<script>alert('testo')</script>
</div>
<?} ?>

Il fatto è che io al posto di testo ho link ed immagini ma nel popup mi viene visualizzato il codice (<a href="blablabla.html">testo linkato</a>).
Come posso fare?
Grazie a tutti!
Asus M3N78SE;AMD Athlon 64X2 5200+@5400;2 GB DDR2;NVIDIA GeForce 9500GT;Windows 7 Pro 64bit;
AcerASPIRE5230;Windows 7 Pro 64bit
Skype: nellopc90
Avatar utente
Fred
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3623
Iscritto il: mer apr 27, 2005 4:13 pm
Località: Urbe

Messaggioda gialloporpora » lun mar 17, 2008 9:55 pm

Non puoi mettere in un alert del codice HTML.
Se vuoi puoi aprire un popup e nel popup si puoi usare codice HTML, vedi la documentazione javascript:
http://flash.html.it/guide/lezione/2921 ... una-popup/

Però, se usi Javascript per mostrare il popup, è eccessivo usare PHP per fare il detect del browser, forse è meglio fai tutto via javascript.
Ciao
Albert Einstein: « 10 cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi »
Avatar utente
gialloporpora
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1780
Iscritto il: mer lug 27, 2005 11:55 pm

Messaggioda gialloporpora » lun mar 17, 2008 10:31 pm

Una cosa del genere funziona solo con Javascript, però è possibile che vecchi IE non vengano trovati da questo codice:

Codice: Seleziona tutto
<script type="text/javascript">
re= new RegExp("msie","i");
if (navigator.userAgent.search(re) != -1) alert('ciao maledetto  IE');
</script>


Ah, se Javascript è disattivato, ovviamente, non funziona.

Ciao
Albert Einstein: « 10 cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi »
Avatar utente
gialloporpora
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1780
Iscritto il: mer lug 27, 2005 11:55 pm

Messaggioda ste_95 » mar mar 18, 2008 7:16 am

Perché non fare tutto in PHP? La rilevazione del browser la lasci così com'è, ma per stampare a video usi la funzione echo.
«A volte è meglio tacere e sembrare stupidi che aprir bocca e togliere ogni dubbio.» Oscar Wilde
Avatar utente
ste_95
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 17271
Iscritto il: lun ago 06, 2007 11:19 am

Messaggioda gialloporpora » mar mar 18, 2008 11:00 am

ste_95 ha scritto:Perché non fare tutto in PHP? La rilevazione del browser la lasci così com'è, ma per stampare a video usi la funzione echo.


perché Fred vuole aprire un popup, anche secondo me è meglio un messaggio nella pagina.

echo non serve, basta inserire l'HTML all'interno del ciclo if e chiuderlo poi (come sopra), così si risparmiano un sacco di insulti vari per inserire i " ' negli echo.
Ciao
Albert Einstein: « 10 cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi »
Avatar utente
gialloporpora
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1780
Iscritto il: mer lug 27, 2005 11:55 pm

Messaggioda Fred » mar mar 18, 2008 1:23 pm

gialloporpora ha scritto:Una cosa del genere funziona solo con Javascript, però è possibile che vecchi IE non vengano trovati da questo codice:

Codice: Seleziona tutto
<script type="text/javascript">
re= new RegExp("msie","i");
if (navigator.userAgent.search(re) != -1) alert('ciao maledetto  IE');
</script>


Ah, se Javascript è disattivato, ovviamente, non funziona.

Ciao

Ma qualcuno ha ancora IE vecchi? Voglio dire, se si aggiorna automaticamente con il sistema operativo tutti dovrebbero avere almeno la 6... anche se gli javascript non mi piacciono. Allora pensavo, anziché mettere un popup è possibile reindirizzare gli utenti IE su un'altra pagina?
Grazie dell'aiuto che mi state dando
Asus M3N78SE;AMD Athlon 64X2 5200+@5400;2 GB DDR2;NVIDIA GeForce 9500GT;Windows 7 Pro 64bit;
AcerASPIRE5230;Windows 7 Pro 64bit
Skype: nellopc90
Avatar utente
Fred
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3623
Iscritto il: mer apr 27, 2005 4:13 pm
Località: Urbe

Messaggioda gialloporpora » mar mar 18, 2008 3:00 pm

Una roba del genere ?

Codice: Seleziona tutto
<? if (preg_match('#msie#i',$_SERVER['HTTP_USER_AGENT'])) header("location:http://sito.com "); ?>


comunque io te la sconsiglierei, così facendo chi usa IE il tuo sito proprio non lo vede, a meno che non risolvi impostando un qualche cookie......
Ciao
Albert Einstein: « 10 cose sono infinite: l'universo e la stupidità umana ma sull'universo nutro ancora dubbi »
Avatar utente
gialloporpora
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 1780
Iscritto il: mer lug 27, 2005 11:55 pm

Messaggioda Fred » mer mar 19, 2008 11:42 pm

Mmm la preclusione totale del sito no. Penso che rinuncerò a linkare il testo... d'altroned un copia-incolla non ha mai ucciso nessuno [;)] . Grazie a tutti per l'aiuto che mi avete dato. [ciao]
Asus M3N78SE;AMD Athlon 64X2 5200+@5400;2 GB DDR2;NVIDIA GeForce 9500GT;Windows 7 Pro 64bit;
AcerASPIRE5230;Windows 7 Pro 64bit
Skype: nellopc90
Avatar utente
Fred
Membro Ufficiale (Gold)
Membro Ufficiale (Gold)
 
Messaggi: 3623
Iscritto il: mer apr 27, 2005 4:13 pm
Località: Urbe


Torna a Sviluppo Web

Chi c’è in linea

Visitano il forum: Nessuno e 8 ospiti

Powered by phpBB © 2002, 2005, 2007, 2008 phpBB Group
Traduzione Italiana phpBB.it

megalab.it: testata telematica quotidiana registrata al Tribunale di Cosenza n. 22/09 del 13.08.2009, editore Master New Media S.r.l.; © Copyright 2008 Master New Media S.r.l. a socio unico - P.I. 02947530784. GRUPPO EDIZIONI MASTER Spa Tutti i diritti sono riservati. Per la pubblicità: Master Advertising