Avatar billede torbenmelander Nybegynder
04. august 2002 - 17:18 Der er 10 kommentarer og
1 løsning

Hvilken browser

Hvordan kan man i javascript finde ud af hvilken browser brugerene har.

Pt. bruger jeg det her:

var ns4 = (document.layers)?true:false;
var ns6_7 = (navigator.userAgent.indexOf('Gecko')>0)?true:false;
var o = (navigator.userAgent.indexOf('Opera')>0)?true:false;

MEN, jeg vil gerne kunne se forskel på Netscape 6/7 og Mozilla 1.0.
Avatar billede stercus Nybegynder
04. august 2002 - 17:26 #1
Det kan du faktisk ikke da mange viser sig som Internet Explorer for at slippe for problemer.
Avatar billede nikolajdu Nybegynder
04. august 2002 - 17:26 #2
ns67 = (document.getElementById&&!document.all)?true:false

NS 6/7 forstår getElementById, men ikke document.all, der kun funker i IE og Opera.

Opera forstår både document.getElementById og document.all

/Nikolaj
Avatar billede torbenmelander Nybegynder
04. august 2002 - 17:32 #3
nikolajdu >> Okay, men hvordan kan jeg se forskel på Netscape 6/7 og Mozilla 1.0 ?
Avatar billede jakoba Nybegynder
04. august 2002 - 17:46 #4
Jeg mener at have læst at NS7 og Mozilla 1 er præcis den samme code.
Avatar billede torbenmelander Nybegynder
04. august 2002 - 17:49 #5
jakoba >> Ja, men NS6 og NS7 er ikke præcis den samme kode ... så et andet spørgsmål kunne være: Hvordan kan man se forskel på NS6 og NS7 ?
Avatar billede jakoba Nybegynder
04. august 2002 - 18:10 #6
arbejd dig frem til at det er NS > 5, så:

if ( parseInt( self.navigator.vendorSub ) == 6 ) {
    // det er ns6
} else
if ( parseInt( self.navigator.vendorSub ) == 7 ) {
    // det er NS7
}

NS7 har disse properties i navigator objektet

navigator.appVersion  = '5.0 (Windows; en-US)'
navigator.platform    = 'Win32'
navigator.appCodeName = 'Mozilla'
navigator.appName    = 'Netscape'
navigator.language    = 'en-US'
navigator.mimeTypes  = '[object MimeTypeArray]'
navigator.oscpu      = 'Win98'
navigator.vendor      = 'Netscape'
navigator.vendorSub  = '7.0b1'
navigator.product    = 'Gecko'
navigator.productSub  = '20020512'
navigator.plugins    = '[object PluginArray]'
navigator.userAgent  = 'Mozilla/5.0 (Windows; U; Win98; en-US; rv:1.0rc2) Gecko/20020512 Netscape/7.0b1'
navigator.securityPolicy = ''
navigator.cookieEnabled  = 'true'

NS6 har disse:

navigator.appVersion  = '5.0 (Windows; en-US)'
navigator.platform    = 'Win32'
navigator.appCodeName = 'Mozilla'
navigator.appName    = 'Netscape'
navigator.language    = 'en-US'
navigator.mimeTypes  = '[object MimeTypeArray]'
navigator.oscpu      = 'Win98'
navigator.vendor      = 'Netscape6'
navigator.vendorSub  = '6.0'
navigator.product    = 'Gecko'
navigator.productSub  = '20001108'
navigator.plugins    = '[object PluginArray]'
navigator.userAgent  = 'Mozilla/5.0 (Windows; U; Win98; en-US; m18) Gecko/20001108 Netscape6/6.0'
navigator.securityPolicy = ''
navigator.cookieEnabled  = 'true'

mvh JakobA
Avatar billede torbenmelander Nybegynder
04. august 2002 - 18:57 #7
jakoba >> Kan du ikke arbejde dig frem for mig ? :-) Vil gerne ha' noget kode jeg kan sætte ind ...
Avatar billede jakoba Nybegynder
04. august 2002 - 19:23 #8
noget i retning af:

var IE, NS, Opera;
var IE4, IE5, IE55, IE6;
var NS4, NS6, NS7_M1;
var DOM

function setBrowserType(  );
    DOM  =  ( document.getElementById )? true : false;
    Opera =  ( navigator.userAgent.indexOf("Opera") > 0 )? true : false;
    NS    =  ( navigator.appName == "Netscape" && ! Opera )? true : false;
    IE    =  ( document.all && ! Opera )? true : false;  // se note §1 nedenfor.
    NS4  =  ( document.layers )? true : false;
    NS6  =  ( NS && DOM && parseInt( navigator.vendorSub )==6 )? true : false;
    NS7_M1 = ( NS && DOM && parseInt( navigator.vendorSub )==7 )? true : false; // note §2
// og ligervis for at skelne diverse versioner af IE og Opera.
}


note §1)  Der findes mange andre browsere, og jeg aner ikke om fx Konqure har et document.all array
note $2)  Forudsat altså at det er korrekt at NS/ og Mozilla 1 er identiske.

mvh JakobA
Avatar billede torbenmelander Nybegynder
29. august 2002 - 08:13 #9
jakoba >> jeg har ikke nået at prøve det endnu ... men går ud fra at det virker ... Lige et spørgsmål mere ... hvordan kan man se forskel på de forskellige IE versioner ?
Avatar billede jakoba Nybegynder
29. august 2002 - 08:23 #10
du kan læse på det tal der står forrest i  navigator.appVersion  (men det er ikke 100% sikkert da versionsnummer ofte er noget marketing klistrer på lige før release), eller du kan teste på funktionalitet:
    IE4 = ( IE && !DOM ) ? true : false;
IE5, IE55 og IE6 husker jeg ikke appVersion på, det er sjældent nødvendigt at skelne imellem dem.
Avatar billede torbenmelander Nybegynder
29. august 2002 - 08:46 #11
Ok, tak for det :-)
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