Avatar billede joch Nybegynder
06. november 2001 - 11:01 Der er 12 kommentarer og
1 løsning

Netscape og mit javascript?

Jeg er ved at gå ud af mit god skin, hver gang jeg arbejder med Netscape 4.7!

Hvorfor virker dette ikke? Det virker i 6.0...

for (i=1;i<=sider;i++) {

win = window.open(\"\",\"win\");
var PrintStr = temp1Str + side[i-1] + temp3Str;
win.document.body.innerHTML = PrintStr;
win.print();
win.close();}
Avatar billede nikolajdu Nybegynder
06. november 2001 - 11:02 #1
Netscape 4.x understøtter ikke innerHTML - Så det er slet ikke muligt at bruge den.
Avatar billede joch Nybegynder
06. november 2001 - 11:10 #2
Er jeg er sejlet om på den anden side af jorden - for kun at finde vand???
[citat joch]...

Der må da være land et eller andet sted - Man må da kunne få det til at virke på én eller anden måde!!!

Nogen gode ideer?
Avatar billede pelkjaer Nybegynder
06. november 2001 - 11:11 #3
Du kan vel bare sætte en window.print i onload og så en self.close
Avatar billede nikolajdu Nybegynder
06. november 2001 - 11:12 #4
Du får ikke innerHTML til at virke i NS 4.x den er kun understøttet i NS 6.0/6.1. Sådan er det. Basta! (hehe)

Du vil altså åbne et vindue og smide teksten ind her?
Avatar billede nikolajdu Nybegynder
06. november 2001 - 11:13 #5
pelkjaer - Inden han printer skal han jo lige have lidt tekst at printe ud :-)
Avatar billede pelkjaer Nybegynder
06. november 2001 - 11:16 #6
Nå for søren *LOOL*

Jaja..det var da et bud :)
Avatar billede joch Nybegynder
06. november 2001 - 11:23 #7
Ja - jeg skal genere en html med sidehoved og bund.

Og den skal genere flere sider!!!
Avatar billede jakoba Nybegynder
06. november 2001 - 12:30 #8
til NS4.x skal man bruge en lidt anden kode:
Do kan teste for NS4.x med
    if (document.layers)
        alert(\"det er netscape4.x\")
    else
        alert(\"det er en anden browser\");

så din kode kunne være:

for (i=1;i<=sider;i++) {
    win = window.open(\"\",\"win\");
    var PrintStr = temp1Str + side[i-1] + temp3Str;
    if (document.layers) {
        win.document.write( PrintStr );    // the NS4.7 way
        win.document.close();
    } else {
        win.document.body.innerHTML = PrintStr;  // the IE/NS6 way
    };
    win.print()
    win.close()
}

mvh JakobA
Avatar billede jakoba Nybegynder
06. november 2001 - 12:33 #9
Men er det forresten ikke lidt spild at åbne og lukke vinduet for hver side?
Avatar billede joch Nybegynder
06. november 2001 - 12:56 #10
Tak igen JakobA

Det var hvad der skulle til!

Nu har jeg vist kun et problem med Netscape! Når jeg tilføjer værdien af en dropdownbox bliver den null. Kan man få lidt tillægshjælp?

temp3Str += document.FormName.resultat.value;
Avatar billede joch Nybegynder
06. november 2001 - 12:59 #11
Forresten... Hvad mener du med spild af tid - med at åbne og lukke?
Avatar billede jakoba Nybegynder
06. november 2001 - 13:05 #12
De enkelte options i en dropdown danner et array med boksens navn som handle

IE har så lavet en \'feature\' med at lægge den valgte værdi ud i en ekstra value attribut i det array. Det gør det lidt nemmere i en select-single, men bryder konceptet totalt i en select-multiple.

den korrekte måde at adressere \'den valgte værdi\' er
    temp3Str += document.FormName.resultat.options[document.FormName.resultat.selectedIndex].value;

Det bliver lidt kønnere med en mellemvariabel:
    selbox = document.FormName.resultat;
    temp3Str += selbox.options[selbox.selectedIndex].value;

mvh JakobA
   
Avatar billede jakoba Nybegynder
06. november 2001 - 13:12 #13
hvergang idennem løkken udskifter du hele indholdet af det vindue. så hvorfor lave et nyt vindue at udskifte indholdet i.

prøv at flytte
    win = window.open(\"\",\"win\");
ud foran for løkken
og flytte
    win.close()
ud bagved.
det skulle give samme resultat, bare hurtigere.
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