Newsgroup: it.comp.www.asp
Titolo: INCLUDE diverso a seconda del browser

Avrei bisogno di una cosa del genere:
includere un file asp ( MenuIE.asp ) in una altra pagina asp se il Browser è
IE 5.5 o superiore, mentre per tutti gli altri browser includere un'altra
pagina ( MenuALL.asp )
Grazie a chi mi sa aiutare... non saprei proprio come fare
blasfemo

"blasfemo" <infoToglimi...@blasfemo.cjb.netToglimiPerScrivermi> ha
scritto nel messaggio news:Ooc17.11498$D03.4...@news.infostrada.it...

Fai un controllo lato client con javascript che ti rimanda ad una pagina a
seconda del browser che legge la pagina
<OT>  :-)
<script>
function msieversion()
{
    var ua = window.navigator.userAgent
    var msie = ua.indexOf ( "MSIE " )
    if ( msie > 0 )
  {
  location="Ie.asp"
  }
    else
  {
  location="altri.asp"
  }
}
</script>
</OT>   :-)
cmq ti conviene chiedere a news:it.comp.lang.javascript
ciao
--
Kappa
kappa**nospam**@
webngo.net
www.webngo.net


pensa che sono loro che mi hanno detto di chiedere qua...
cmq non volevo fare un controllo lato client con javascript che ti rimanda
ad una pagina a seconda del browser che legge la pagina... perche devo
INCLUDERE un file in un'altro..
Quello che devo includere č un menu e cosi facendo non dovrei riscrivere 2
volte un sito a seconda di che browser lo sta visionando... :-))
E' possibile??
blasfemo

 volte un sito a seconda di che browser lo sta visionando... :-))
beh allora potresti fare il controllo solo nella prima pagina e settare una
variabile di sessione per sapere che tipo di browser stà utilizzando
l'utente.
Il problema è che utilizzando gli include, questi vengono eseguiti prima che
il server provessi la pagina asp, quindi ti troveresti con tutti i menu
caricati, ma visualizzando solo quello che ti interessa.
Se il tuo server supporta ASP 3 è molto meglio il metodo Server.Execute


Controlla il browser da ASP con l'oggetto MSWC.BrowserType o con  la server
variable HTTP_USER_AGENT ed in base alla versione/tipo browser fai una
server.execute (se hai ASP 3) della pagina-menu "corretta".
        Alessio
------------------------------------------------------------------------
www.e-project.it
 
aga...@e-project.it
"blasfemo" <infoToglimi...@blasfemo.cjb.netToglimiPerScrivermi> ha
scritto nel messaggio news:wtk17.13972$D03.4...@news.infostrada.it...


 E' possibile??
puoi controllare il browser sul lato server usando
Request.ServerVariables("HTTP_USER_AGENT")
che ti ritorna qualcosa tipo:
Mozilla/4.0 (compatible; MSIE 5.5; Windows 98)
che ovviamente va interpretato opportunamente.
Ciao
Big Trumpet

 blasfemo
allora se usi IIS 5 puoi utilizzare server.execute che appunto "esegue" la
pagina asp specificata e poi "ripassa" il controllo alla pagina che l'ha
chiamata ... un vero e proprio Include dinamico! però esiste solo in ASP 3 e
quindi II5 ... ciao, giullo
ps naturalmente il controllo lo fai checkando prima HTTP_USER_AGENT che è
l'intestazione http che contiene (tra le altre cose) il nome del browser che
utilizza il visitatore che sta accedendo alla pagina in questione ...

Grazie a chi mi sa aiutare... non saprei proprio come fare
Prendi esempio da 
napster.com
Vai su 
www.napster.com
, guardi il sorgente html della pagina
e scopri uno script che fa al caso tuo, oppure la versione
basata su asp e' facile da realizzare.
Lě serve per includere un file CSS, a te puň servire per 
includere il menů.
<%	dim strHUA
	strHUA =LCase(Request.ServerVariables("HTTP_USER_AGENT"))
	If (InStr(strHUA, "mac" )>0) Then %>
<link rel="stylesheet" type="text/css" href="/css_mac.css">
<%	End If
	If (InStr(strHUA, "x11" )>0) Then %>
<link rel="stylesheet" type="text/css" href="/css_x11.css">
<%	Else	%>
<link rel="stylesheet" type="text/css" href="/css_pc.css">
<%	End If	%>
I hope this help


visto che io non ci capisco + di tanto, potresti crearmi un'esempio
funzionane e magari mandarmelo in e-mail cosi lo provo e capisco visot che
sono uno alle prime armi? Grazie
sarò off-line per 1 settimana ma al mio ritorno lo guarderò e provero subito
e ti farò sapere
blasfemo

 sono uno alle prime armi? Grazie
Beh guarda che non è poi così difficile da fare. Fai una pagina dove
inserisci la funzione JS che ti ho postato la volta scorsa e la fai eseguire
nell'onLoad della pagina.
Nella pagina di rimando (ie.asp o altri.asp) setti una variabile di sessione
con
Session("varBrowser") = "Ie"    'nel caso di Ie
Session("varBrowser") = "Altri"    'nel caso di altri browser
Poi fai un redirect alla pagina che carica i menu e leggi la variabile e
carichi il menu corrispondente:
If Session("varBrowser") = "Ie" Then
    Server.Execute ("MenuIE.asp")
Else
    Server.Execute ("MenuAllasp")
End If
Et voilà il gioco è fatto ;o)


 Grazie a chi mi sa aiutare... non saprei proprio come fare
Allora, puoi controllare il tipo di browser con la session variable
HTTP_USER_AGENT, dopodichč avviare l'inclusione con gli INCLUDE di ASP. Ho
letto gli altri post, e non credo che il comando Server.Execute di ASP 3 ti
possa essere utile, in quanto a te serve incluere una pagina in un'altra non
inviare il flusso esecutivo ad una pagina per poi ricederlo alla chiamante
(in pratica Server.Execute sostituisce migliorandolo il comando
Response.Redirect)-
Un rapido sempio potrebbe essere
If InStr(Request.ServerVariables("HTTP_USER_AGENT"), "MSIE") Then
    Response.Write "<!--#INCLUDE FILE='MenuIE.asp'-->"
Else
    Response.Write "<!--#INCLUDE FILE='MenuALL.asp'-->"
End If
Ciao
Matteo Cacciola
Email: 
cacc...@2000net.it
 (private)
 
mat...@es3k.it
 (professional)

 ha scritto nel messaggio
news:9icsa1$j08$1...@fe2.cs.interbusiness.it...

Ma sei sicuro che cosě funziona?
Da quanto mi risulta gli include vengono gestiti prima dell'interpretazione
del codice ASP č per quello che avevo suggerito Server.Execute.


del codice ASP è per quello che avevo suggerito Server.Execute.
Questo l'ho visto solo per non inserire una variabile come nome file
nella istruzione include.
Altrimenti codifichi i tuoi menu in una stringa, e da lì ti scateni
che sarà mai :-)) 

 ha scritto nel messaggio
news:dfqlktc8asgs82pt1...@4ax.com...

Puoi spiegarti un po' meglio? :-|
--
Kappa
kappa**nospam**@
webngo.net
www.webngo.net