How to rilevare il tipo di browser

Dichiarazione di non responsabilità per contenuto KB ritirato

Il contenuto di questo articolo è riferito a prodotti per cui Microsoft non offre più il supporto. Questo articolo viene pertanto offerto "così com'è" e non sarà più aggiornato.

Sommario


Poiche` i diversi browser hanno elementi di differenza, risulta talvolta
utile rilevare il tipo di browser nel quale uno script o una applet stanno
eseguendo, e agire di conseguenza.
Questo articolo illustra come rilevare il tipo di browser all'interno di
uno script in linguaggio JavaScript e di una applet Java.

JAVASCRIPT
==========
Segue esempio di funzione:

function browsertype()
{
if(navigator.appName.indexOf("Microsoft Internet Explorer")>=0){
browser="MSIE";
}
else if(navigator.appName.indexOf("Netscape")>=0){
browser="Netscape";
}
else{
browser="unknown";
}
}

imposta la variabile browser a valori diversi a seconda del tipo di
browser, e puo` quindi essere usata da altre funzioni javascript.

JAVA
====
La applet seguente visualizza, al suo interno, il tipo di browser:

////// applet code

import java.applet.Applet;
import netscape.javascript.JSObject;
import netscape.javascript.JSException;
import java.awt.Graphics;

public class MyApplet extends Applet
{
public String GetBrowserType()
{
String browser;
String appName = "";

try
{
JSObject win = JSObject.getWindow(this);
JSObject nav = (JSObject) win.getMember("navigator");

appName = (String) nav.getMember("appName");
}
catch(JSException e)
{
}
catch(Exception e1)
{
}
if(appName.indexOf("Microsoft Internet Explorer")>=0)
return "MSIE";
if(appName.indexOf("Netscape")>=0)
return "Netscape";
return "unknown";
}

public void paint(Graphics g)
{
g = getGraphics();
g.drawString (GetBrowserType(), 20, 20);
}
}

///// end applet code

Le classi JSObject e JSException del package netscape.javascript fanno
parte delle classi distribuite con Internet Explorer 4.x e con Netscape
Navigator. L'implementazione delle due classi e` significativamente
diversa: quella della Microsoft Java Virtual Machine usa le classi
com.ms.*.
La applet sopra riportata puo` essere compilata con qualunque compilatore
java. Le classi netscape.javascript.* non devono essere ridistribuite: il
dynamic linking di java fa in modo che, a runtime, esse facciano
riferimento all'implementazione relativa al browser in uso.

NOTA
====
E anche possibile rilevare la versione dell'Internet Explorer che si sta
utilizzando. Fare riferimento all'articolo "Checking the Internet Explorer
Version Number" nei CD del prodotto MSDN.

Riferimenti


Articolo "Checking the Internet Explorer Version Number" nei CD del
prodotto MSDN
Proprietà

ID articolo: 639657 - Ultima revisione: 20 gen 2006 - Revisione: 1

Feedback