Avatar billede theselfimages Nybegynder
07. februar 2003 - 16:20 Der er 11 kommentarer og
1 løsning

Hvad definerer IE?

Hvis dette definerer IE 4-6 på PC, hvad definerer så IE 5.0, 5.1 og 5.2 på MAC? Eller bare 5.0, 5.1

IE = (document.all)?true:false; // dækker IE 4-6
Avatar billede miraculix Nybegynder
07. februar 2003 - 16:36 #1
document.all definerer ikke IE. Konstruktionen tester faktisk bare om den collection der hedder all er tilstede på objectet document. Det kan den sagtens være i andre browsere end IE.

du kan bruge nogle metoder på navigator objektet for at finde ud af hvilken browser du har fat i.

Prøv f.eks. at indsætte følgende i en javascript blok i en htmlfil, og test i forskellige browsere/platforme:

alert(navigator.appName);
alert(navigator.appVersion);
alert(navigator.platform);
alert(navigator.userAgent);
Avatar billede theselfimages Nybegynder
07. februar 2003 - 16:49 #2
Ok! men jeg skal bruge checket til dette script. Som du ser er check for de 4 browsere, selv om de ikke alle skal bruge. Men hvordan kan jeg sikre mig at der checkes for IE på mac. Da denne browser skal ha' angivet den værdi der udskrives, når browseren er NS og ikke IE. Jeg må kunne sætte et IEMAC check ind, hvis jeg bare vidste hvad der definerer den browser.


<script type="text/javascript">
<!--
NS4 = (document.layers)?true:false;
NS = (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;
IE = (document.all)?true:false; // dækker IE 4-6
OP = (navigator.userAgent.indexOf('Opera')!=-1)? true : false; // Dækker Opera (alle versioner)//-->
</script>


    <script type="text/javascript"><!--
    if (NS) {
    document.write('<div id="track" style="position:absolute; top:40px; left:266px; z-index:2;">');
    } else if (IE) {
    document.write('<div id="track" style="position:absolute; top:45px; left:266px; z-index:2;">');
    }
    //-->
    </script>
Avatar billede miraculix Nybegynder
07. februar 2003 - 17:01 #3
navigator.platform skulle fortælle dig hvilket styresystem din kode kører på.
altså :

IEMAC = IE && (navigator.platform.indexOf('Mac')!= -1);
Avatar billede miraculix Nybegynder
07. februar 2003 - 17:04 #4
PS! koden skal indsættes efter den linie der siger:

IE = (docum... osv.
Avatar billede miraculix Nybegynder
07. februar 2003 - 17:08 #5
Er du helt sikker på at IE = chekket ikke funker på Mac?

For så skal du nemlig ændre min kodelinie lidt:

IEMAC = (navigator.platform.indexOf('Mac')!= -1) && (navigator.appName.indexOf('Microsoft')!= -1);
Avatar billede theselfimages Nybegynder
07. februar 2003 - 17:13 #6
Men.. men.. den skal ikke både checke for IEMAC og IE i samme linie, da den nuværende IE udskriver en linie og NS udskriver en anden linie, der nemlig også skal gælde for IEMAC. Kan det se sådan her ud så?


<script type="text/javascript">
<!--
NS4 = (document.layers)?true:false;
NS = (navigator.userAgent.indexOf('Netscape')!=-1)?true:false;
IE = (document.all)?true:false; // dækker IE 4-6

IEMAC = (navigator.platform.indexOf('Mac')!= -1)

OP = (navigator.userAgent.indexOf('Opera')!=-1)? true : false; // Dækker Opera (alle versioner)//-->
</script>


    <script type="text/javascript"><!--
    if (NS || IEMAC) {
    document.write('<div id="track" style="position:absolute; top:40px; left:266px; z-index:2;">');
    } else if (IE) {
    document.write('<div id="track" style="position:absolute; top:45px; left:266px; z-index:2;">');
    }
    //-->
    </script>
Avatar billede miraculix Nybegynder
07. februar 2003 - 17:19 #7
DEt ser fornuftigt ud, bortset fra du mangler et semikolon i din IEMAC = linie
Avatar billede theselfimages Nybegynder
07. februar 2003 - 17:49 #8
Fandt lige disse. Hvad mener du om det?

    var is_mac    = (agt.indexOf("mac")!=-1);
    // hack ie5 js version for mac
    if (is_mac && is_ie5up) is_js = 1.4;
    var is_mac68k = (is_mac && ((agt.indexOf("68k")!=-1) ||
                              (agt.indexOf("68000")!=-1)));
    var is_macppc = (is_mac && ((agt.indexOf("ppc")!=-1) ||
                                (agt.indexOf("powerpc")!=-1)));
Avatar billede miraculix Nybegynder
07. februar 2003 - 17:55 #9
Jo, hvis du bare husker at sætte agt = navigator.userAgent; først, så ser de da også meget fornuftige ud.

De chekker ikke bare om det er mac men også om det er PowerPc eller Motorola 68K serien.

Jeg kender ikke de listige detaljer i hvordan forskellige mac'er håndterer styles forskelligt så jeg skal ikke lige kunne sige om det er nødvendigt for dig at skelne på det niveau.
Avatar billede theselfimages Nybegynder
07. februar 2003 - 17:59 #10
Hvad vil du så foreslå jeg har med i mit IEMAC check?
Vil du illustrere det, så jeg er sikker?
En komination af denne: (agt.indexOf("mac")!=-1);
og denne: (navigator.platform.indexOf('Mac')!= -1)

???
Avatar billede miraculix Nybegynder
07. februar 2003 - 18:10 #11
Jeg tror det er ligegyldigt hvilken af dem du bruger.

Men som med al anden programmering er der ingen vej udenom at teste det på samtlige platforme hvor du vil være helt sikker på at det virker...
Avatar billede theselfimages Nybegynder
07. februar 2003 - 19:48 #12
Ok .. tak for hjælpen
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