Avatar billede kartolux Nybegynder
09. oktober 2002 - 15:50 Der er 7 kommentarer og
1 løsning

Finder ikke IE version korrekt

Jeg har en print funktion:

<script language="JavaScript">
    function print(id) {
        if (navigator.appVersion.indexOf("MSIE 5") == -1) {
        alert("Denne funktion virker kun i Microsoft Internet Explorer 5.0 eller højere!");
        return false;
        }       
        parent.frames["printframe"].document.location.href="printordre.asp?id=" + id;
        parent.frames["printframe"].document.close();
        parent.frames["printframe"].focus();
        //parent.frames["printframe"].print();
    }

Den kaldes med:


<a href="#" onClick="print(397);"><img src="../images/icon_print.gif" align="absmiddle" border="0" vspace="0" hspace="0"></a>

Den kommer med den definerede alert, selvom jeg bruger IE 6.0. Hvad er der galt? Skal funktionen laves om, eller hvad?
Avatar billede jakoba Nybegynder
09. oktober 2002 - 16:03 #1
prøv at teste lidt:

<script language="JavaScript">
    function print(id) {
  alert( navigator.appVersion );  // DEBUG-linie. fjernes igen bagefter
        if (navigator.appVersion.indexOf("MSIE 5") == -1) {
        alert("Denne funktion virker kun i Microsoft Internet Explorer 5.0 eller højere!");
        return false;
        }     
        parent.frames["printframe"].document.location.href="printordre.asp?id=" + id;
        parent.frames["printframe"].document.close();
        parent.frames["printframe"].focus();
        //parent.frames["printframe"].print();
    }
</script>

og se hvad der egentligt står i den variabel for IE 5 og for IE 6
din test på om der står "MSIE 5" i strengen vil fejle hvis der står "MSIE 6"

når du kikke på strengen kan du nok finde en forskel du kan teste på så både  IE5 og IE6 bliver godtaget.

mvh JakobA
Avatar billede kartolux Nybegynder
09. oktober 2002 - 16:54 #2
Hvordan får jeg scriptet til at skrive browserversionen til skærmen?
Den kode du har lavet, har jeg lagt i header...
Avatar billede jakoba Nybegynder
09. oktober 2002 - 17:03 #3
så skulle der komme en alertboks når du aktiverer funktionen print.
Avatar billede kartolux Nybegynder
09. oktober 2002 - 17:44 #4
Ja - tak. Det gør der. Den skriver:

4.0 (compatible; MSIE 6.0; Windows NT 5.1)

Kan det have noget at gøre med, at jeg kører Windows XP?
Avatar billede jakoba Nybegynder
09. oktober 2002 - 21:51 #5
Næe. det har at vøre med at du har en
    MicroSoft InternetExplorer version 6.0
din test leder efter "MSIE 5" men der står "MSIE 6" i den streng. Af en eller anden grund er IE holdt op med at skrive versionsnummeret forrest i appVersion strengen.

men du kan da lave din if sætning om til:
        if ( navigator.appVersion.indexOf("MSIE 5") == -1 &&
              navigator.appVersion.indexOf("MSIE 6") == -1 ) {
          alert("Denne funktion virker kun i Microsoft Internet Explorer 5.0 eller højere!");
          return false;
        }   

så skulle din test virke indtil MSIE 7 kommer :-))

mvh JakobA
Avatar billede kartolux Nybegynder
09. oktober 2002 - 22:01 #6
Jeg ved ikke, hvad det betyder, men jeg satte værdien i:
if (navigator.appVersion.indexOf("MSIE 5") == -1)
til:
if (navigator.appVersion.indexOf("MSIE 5") == -2)

og så viker det...
Avatar billede jakoba Nybegynder
09. oktober 2002 - 22:13 #7
Nej.  det får den blot til at godtage en hvilkensomhelst browser. funktionen indexOf vil aldrig nogensinde give minus 2.
Avatar billede kartolux Nybegynder
09. oktober 2002 - 22:29 #8
Okay - tak for hjælpen. Jeg kom godt videre  :0)
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