Avatar billede Keld Nielsen Professor
08. januar 2001 - 19:47 Der er 5 kommentarer og
1 løsning

check browser

Jeg har brug for en browser-check funktion.
Den skal forunden den normale IE- NS funktion, også kunne se om det er en NS 4,5 eller en NS 6.0, og for det ikke skal være løgn også gerne en Opera test.
Avatar billede jakoba Nybegynder
08. januar 2001 - 21:02 #1
Opera er svær at teste på for den kan ejeren stille til at lade som om den er en Netscape eller en Explorer eller en Opera som han vil. men hvis den er stillet til Opera kan du teste på samme måde som med de andre

// test type
var browserType = navigator.appName;                    // Navnet
var browserVersion = parseInt(navigator.appVersion); // første ciffer i versionsnummeret

mvh JakobA
Avatar billede Keld Nielsen Professor
10. januar 2001 - 12:52 #2
Kan du uddybe det lidt mere, med lidt mere kode ???
Avatar billede jakoba Nybegynder
10. januar 2001 - 17:33 #3
Ok Men det er lidt usikkert for det sværeste ved brovsercheck er nok at hitte ud af hvilke variabler man vil have ud af det der er \'nyttige\' at lave en hurtig check på :)

var ns4 = false;            // bliver true for Netscape version 4 og op
var ns6 = false;            // bliver true for Netscape version 6 og op
var ie4 = false;              // bliver true for Internet explorer version 4 og op
var ie5 = false;              // bliver true for Internet explorer version 5 og op
var op4 = false;            // bliver true for Opera version 4 og op
var bNavn = \"Other\";      // bliver \"Explorer\", \"NetScape\", \"Opera\" eller \"Other\"

var browserType = navigator.appName;                    // Navnet
if          ( browserType.indexOf(\"Opera\") != -1 )    {
    bNavn = \"Opera\";
    op4 = ( parseInt(navigator.appVersion)>3  ) ? true : false;
} else if  ( browserType.indexOf(\"Netscape\") != -1 ) {
    bNavn = \"Netscape\";
    ns4 = ( parseInt(navigator.appVersion)>3  ) ? true : false;
    ns6 = ( parseInt(navigator.appVersion)>5  ) ? true : false;
} else if  ( browserType.indexOf(\"Explorer\") != -1 )  {
    bNavn = \"Explorer\"
    ie4 = ( parseInt(navigator.appVersion)>3  ) ? true : false;
    ie6 = ( parseInt(navigator.appVersion)>5  ) ? true : false;
} else
    bNavn = \"Other\";

var swImgOk = ( ns3 || ie4 || op3 );  // true if ok to switch images
var DOM      = ( ns6 || ie5 );  // op?  // true if browser supports DOM object model
var CSS_Ok  = ( ns4 || ie4 );  // op?  // true if support for cascading style sheets
// osv...     

Mon ikke vi kan være enige om at det bliver rart når/hvis vi får nogen mere standardiserede browsere :-))

rettelser/udvidelser modtages med tak.

mvh JakobA
Avatar billede jakoba Nybegynder
10. januar 2001 - 17:36 #4
    ie6 = ( parseInt(navigator.appVersion)>5  ) ? true : false;
skulle naturligvis have været:
    ie5 = ( parseInt(navigator.appVersion)>4  ) ? true : false;
Avatar billede brock Nybegynder
06. maj 2001 - 13:25 #5
var ns4 = false;            // bliver true for Netscape version 4 og op
var ns6 = false;            // bliver true for Netscape version 6 og op
var ie4 = false;              // bliver true for Internet explorer version 4 og op
var ie5 = false;              // bliver true for Internet explorer version 5 og op
var ie55 = false;
var op4 = false;            // bliver true for Opera version 4 og op
var bNavn = \"Other\";      // bliver \"Explorer\", \"NetScape\", \"Opera\" eller \"Other\"

var browserType = navigator.appName;                    // Navnet
if          ( browserType.indexOf(\"Opera\") != -1 )    {
    bNavn = \"Opera\";
    op4 = ( parseInt(navigator.appVersion)>3  ) ? true : false;
} else if  ( browserType.indexOf(\"Netscape\") != -1 ) {
    bNavn = \"Netscape\";
    ns4 = ( parseInt(navigator.appVersion)>3  ) ? true : false;
    ns6 = ( parseInt(navigator.appVersion)>5  ) ? true : false;
} else if  ( browserType.indexOf(\"Explorer\") != -1 )  {
    bNavn = \"Explorer\"
    var version=eval(navigator.appVersion.match(/ \\d+.\\d+/))
    ie4 = ( version>3  ) ? true : false;
    ie5 = ( version>4  ) ? true : false;
    ie55 = (version>5) ? true : false;
    } else
    bNavn = \"Other\";
Avatar billede brock Nybegynder
06. maj 2001 - 14:05 #6
Og for lige at rydde op og smide OS med i scriptet

var ns4 = false;
var ns6 = false;
var ie4 = false;
var ie5 = false;
var ie55 = false;
var op4 = false;
var bNavn = \"Other\";
var OS = \"Unknown\";
var browserType = navigator.appName;
var version = parseInt(navigator.appVersion)

if (navigator.userAgent.indexOf(\"Mac\") != -1) {OS = \"Mac\"} else if
(navigator.userAgent.indexOf(\"Win\") != -1) {OS = \"Win\"} else OS = \"Unknown\";
if        (browserType.indexOf(\"Opera\") != -1 )    {
    bNavn = \"Opera\";
    op4 =  (version>3) ? true : false;
} else if  (browserType.indexOf(\"Netscape\") != -1 ) {
    bNavn = \"Netscape\";
    ns4 =  (version>3) ? true : false;
    ns6 =  (version>5) ? true : false;
} else if  (browserType.indexOf(\"Explorer\") != -1 )  {
    bNavn = \"Explorer\"
    var version=eval(navigator.appVersion.match(/ \\d+.\\d+/))
    ie4  = (version>3) ? true : false;
    ie5  = (version>4) ? true : false;
    ie55 = (version>5) ? true : false;
    } else bNavn = \"Other\";

mvh
brock
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester