Avatar billede theselfimages Nybegynder
10. februar 2003 - 23:35 Der er 20 kommentarer og
1 løsning

Hvad definere Mozilla?

Hvis dette definere Netscape:

NS = (navigator.userAgent.indexOf('Netscape')!=-1)

Hvad definere så Mozilla browser?
Og er der andre end disse nedenstående jeg bør være opmærksom på?

NS4 = (document.layers)?true:false;                              // Netscape 4.x
NS = (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;  // Netscape 5.x
IE = (document.all)?true:false;                                  // Explorer 4.0-6.0
IEMAC = (navigator.platform.indexOf('Mac')!=-1)?true:false;      // Explorer MAC
OP = (navigator.userAgent.indexOf('Opera')!=-1)?true:false;      // Opera (All Versions)
Avatar billede angam Nybegynder
10. februar 2003 - 23:41 #1
Jeg kan ikke lige hjælpe dig med Mozilla - men måske skulle du være obs på nogle af de mange søgerobotter: Googlebot, FAST WebCrawler, Jubii SuperSearch, Ankiro Crawl, ia_archiver og Scooter (for lige at nævle nogle fra min egen logfil :-)
Avatar billede pelkjaer Nybegynder
11. februar 2003 - 01:36 #2
Har du prøvet at alerte?

alert( window.navigator.userAgent)
Avatar billede theselfimages Nybegynder
11. februar 2003 - 10:54 #3
Ok.. men dette er resultatet:

userAgent string: mozilla/5.0 (windows; u; windows nt 5.1; en-us; rv:1.2.1) gecko/20021130
appName string: Netscape
appVersion string: 5.0 (Windows; en-US)
Your browser is: Netscape 5.0
Your OS is: Windows XP

Af dette check: http://tryme.activeisp.com/jstest.asp

Hvad forstår du ved dette?
Avatar billede pelkjaer Nybegynder
11. februar 2003 - 11:19 #4
Prøv

if (window.navigator.userAgent.indexOf("gecko/") + 14) {
  var moz= true;
} else {
  var moz = false;
}
Avatar billede theselfimages Nybegynder
11. februar 2003 - 11:37 #5
Det virker. Men den udelukker også IE som scriptet ser ud nu, hvorfor det?

<script type="text/javascript">
<!--
MOZ  = (window.navigator.userAgent.indexOf("gecko/") + 14)?true:false;    // Mozilla
NS4  = (document.layers)?true:false;                                      // Netscape 4.x
NS    = (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;          // Netscape 5.x
IE    = (document.all)?true:false;                                        // Explorer 4.0-6.0
IEMAC = (navigator.platform.indexOf('Mac')!=-1)?true:false;                // Explorer MAC
OP    = (navigator.userAgent.indexOf('Opera')!=-1)?true:false;            // Opera (All Versions)

WIDTH = screen.width;


if (MOZ || NS4 || OP) {
location.href='navigation/browser.htm';
} else if (WIDTH < 800) {
location.href='navigation/resolution.htm';
}
//-->
</script>
Avatar billede pelkjaer Nybegynder
11. februar 2003 - 11:40 #6
if ( window.navigator.userAgent.indexOf("MSIE")>=0 ) {
  var ie = true;
} else {
  var ie = false;
}
Avatar billede theselfimages Nybegynder
11. februar 2003 - 11:49 #7
Hmm... har også prøvet denne:
(navigator.userAgent.indexOf('MSIE')!=-1)?true:false;

Men stadig det samme. Den udelukker IE selv om den slet ikke er sat til at checke for den. Altså der henvises i IE til location.href='navigation/browser.htm'; selv om den IKKE står blandt IF checkne.
Avatar billede pelkjaer Nybegynder
11. februar 2003 - 11:55 #8
if (window.navigator.userAgent.indexOf("gecko/") + 14 &&! ( window.navigator.userAgent.indexOf("MSIE")>=0 ) ) {
  var moz = true;
} else {
  var moz = false;
}
Avatar billede pelkjaer Nybegynder
11. februar 2003 - 11:57 #9
Det eneste jeg ikke kan adskille er NS6 og Mozilla. NS6 *vil* identificeres som gecko.
Avatar billede theselfimages Nybegynder
11. februar 2003 - 11:59 #10
Hmm.. nu tror jeg du misforstår noget!

Probletet er at selv om jeg HER:
if (MOZ || NS4 || OP) {
location.href='navigation/browser.htm';
} else if (WIDTH < 800) {
location.href='navigation/resolution.htm';
}

IKKE checker for IE, så viser IE browser.htm siden når der checkes for MOZILLA med denne: (window.navigator.userAgent.indexOf("gecko/") + 14)
Og det skal den jo ikke. Så hvad hjælpen det at skrive:

if (window.navigator.userAgent.indexOf("gecko/") + 14 &&! ( window.navigator.userAgent.indexOf("MSIE")>=0 ) ) {
  var moz = true;
} else {
  var moz = false;
}
Avatar billede theselfimages Nybegynder
11. februar 2003 - 12:00 #11
Prøv selv denne version.


<script type="text/javascript">
<!--
MOZ  = (window.navigator.userAgent.indexOf("gecko/") + 14)?true:false;    // Mozilla
NS4  = (document.layers)?true:false;                                   
NS    = (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;        IE    = (window.navigator.userAgent.indexOf('MSIE')>=0)?true:false;      IEMAC = (navigator.platform.indexOf('Mac')!=-1)?true:false;                OP    = (navigator.userAgent.indexOf('Opera')!=-1)?true:false;           

WIDTH = screen.width;


if (MOZ || NS4 || OP) {
location.href='navigation/browser.htm';
} else if (WIDTH < 800) {
location.href='navigation/resolution.htm';
}
//-->
</script>
Avatar billede pelkjaer Nybegynder
11. februar 2003 - 12:01 #12
Så udelukker vi jo IE :)
Avatar billede theselfimages Nybegynder
11. februar 2003 - 12:01 #13
Hov! Sådan her:


<script type="text/javascript">
<!--
MOZ  = (window.navigator.userAgent.indexOf("gecko/") + 14)?true:false;    // Mozilla
NS4  = (document.layers)?true:false;                                      // Netscape 4.x
NS    = (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;          // Netscape 5.x
IE    = (window.navigator.userAgent.indexOf('MSIE')>=0)?true:false;        // Explorer 4.0-6.0
IEMAC = (navigator.platform.indexOf('Mac')!=-1)?true:false;                // Explorer MAC
OP    = (navigator.userAgent.indexOf('Opera')!=-1)?true:false;            // Opera (All Versions)

WIDTH = screen.width;


if (MOZ || NS4 || OP) {
location.href='navigation/browser.htm';
} else if (WIDTH < 800) {
location.href='navigation/resolution.htm';
}
//-->
</script>
Avatar billede pelkjaer Nybegynder
11. februar 2003 - 12:01 #14
Prøv nu bare det jeg skrev - det virker.
Avatar billede theselfimages Nybegynder
11. februar 2003 - 12:13 #15
Ja.. okay... det virker. Men nu udelukker den
NS = (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;

Ved ikke med:

IEMAC = (navigator.platform.indexOf('Mac')!=-1)?true:false; 

Men ideén med dette script var jo at sætte check for samtlige store browsere og så kunne udelukke de er ikke ønskes at gøres brug af med denne sætning:
if (MOZ || NS4 || OP) {
Avatar billede pelkjaer Nybegynder
11. februar 2003 - 12:15 #16
Ja, men som jeg tidligere skrev kan jeg ikke adskille NS6 og Mozilla. Men er det også nødvendigt? De er i bund og grund samme browser jo.
Avatar billede theselfimages Nybegynder
11. februar 2003 - 12:18 #17
Hmm.. ja egentlig for det der gør at jeg er nødt til at udelukke Mozilla virker faktisk fint i Netscape.
Avatar billede pelkjaer Nybegynder
11. februar 2003 - 12:24 #18
Nå, var det så ikke en idé at finde ud af hvorfor "noget" ikke virker i mozilla? Det holder da ikke helt bare at udelukke alt andet end IE.
Avatar billede theselfimages Nybegynder
11. februar 2003 - 13:26 #19
Problemet er løst. Tak for hjælpen med at detecte Mozilla.
Avatar billede theselfimages Nybegynder
11. februar 2003 - 14:02 #20
Post et svar, så jeg kan få lukket spørgsmålet.
Avatar billede pelkjaer Nybegynder
11. februar 2003 - 14:07 #21
okay.
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