Vai a: [ Contenuti ] [ Categorie ] [ Cerca ]

Controllo browser con javascript

Controllo browser con javascript


Penso che questi due esempi possano chiarire ogni eventuale dubbio su Explorer:

Modalità corretta

1
2
3
4
5
6
7
8
9
10
11
12
<SCRIPT language="JavaScript">
<!-- Da inserire in un punto qualsiasi del body
 
if (document.layers){ //Netscape 4.x 
document.write("Io sono Netscape 4.x"); 
  } else if (document.all){ // Explorer 
document.write("Io sono Explorer"); 
  }else if (document.getElementById){ //Netscape 6
document.write("Io sono Netscape 6");
  }
//-->
</SCRIPT>

Su Internet Explorer avremo stampata questa riga: Io sono Explorer

Modalità errata

1
2
3
4
5
6
7
8
9
10
11
12
<SCRIPT language="JavaScript">
<!-- Da inserire in un punto qualsiasi del body
 
if (document.layers){ //Netscape 4.x 
document.write("Io sono Netscape 4.x"); 
  } if (document.all){ // Explorer 
document.write("Io sono Explorer"); 
  }if (document.getElementById){ //Netscape 6
document.write("Io sono Netscape 6");
  }
//-->
</SCRIPT>

Su Internet Explorer avremo stampata questa riga: Io sono ExplorerIo sono Netscape 6

Come vedete sono infiniti gli utilizzi per questo semplice script: potremmo usare diversi CSS oppure scrivere un diverso <body> oppure ancora usare un IFRAME per chi ha Explorer e stampare un link testuale per chi naviga con Netscape.

Ecco un semplice esempio da utilizzare nel corpo della pagina:

1
2
3
4
5
6
7
8
9
<iframe src="pagina.htm" width="320" height="290"></iframe>
<SCRIPT language="JavaScript">
<!--
if(document.layers){  
document.write("Stai utilizzando Netscape. 
Clicca <a href="pagina.htm">qui</a> per aprire la pagina da visualizzare"); 
} 
//-->
</script>

Sappiamo, per esperienza, che gli IFRAME non vengono "letti" da Netscape 4.x e quindi, con il javascript analizzato, verrà visualizzato solo il link testuale; viceversa, con Explorer e NN6, vedremo correttamente solo l'IFRAME.
Prima di concludere non possiamo dimenticare un browser che sta riscuotendo sempre più consensi: Opera.
Normalmente questo navigatore viene interpretato come se fosse Explorer; potrebbe accadere, però, che si renda necessario "separarlo" da IE ed intercettarlo in modo univoco.
Per fare questo basterà aggiungere una variabile ed un costrutto "else if" allo script analizzato in precedenza:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
<SCRIPT language="JavaScript">
<!--
var OPER=navigator.userAgent.indexOf("Opera");
if (document.layers){ //Netscape 4.x 
document.write("Io sono Netscape 4.x"); 
  } else if((OPER>-1)) { 
document.write("Io sono Opera"); 
  } else if (document.all){ // Explorer 
document.write("Io sono Explorer"); 
  }else if (document.getElementById){ //Netscape 6
document.write("Io sono Netscape 6");
}
//-->
</SCRIPT>

Anche in questo caso, per evitare che Opera venga intercettato come se fosse Explorer, è necessario utilizzare le istruzioni "else if" e rispettare l'ordine dei costrutti.

Pagina: 1 2

link sponsorizzati

Consiglialo su Facebook

Lascia un Commento

Subscribe without commenting

Torna: [ Inizio ] [ Contenuti ] [ Categorie ] [ Cerca ]

Pagina renderizzata in soli 0,096 secondi dopo aver eseguito ben 0 query. Wordpress... prestazioni da urlo!