Avatar billede andreas Nybegynder
09. april 2000 - 01:18 Der er 14 kommentarer og
1 løsning

Skrive problem..... mærkeligt

Hej.... nogen der ved hvorfor dette ikke virker og har en løsning på hvordan jeg løser det... Det skal også virke i netscape!!!

<html>

<head>
<title>hej</title>
</head>

<body>

<script language="javascript">

document.write('opening file....')
setTimeout("write()",1666)

function write() {
document.write('opening file....<br>')
document.write('writing document....')
setTimeout("finish()",1667)
}

function finish() {
document.write('opening file....<br>')
document.write('writing document....<br>')
document.write('finishing document....')
setTimeout("done()",1667)
}

function done() {
document.write('opening file....<br>')
document.write('writing document....<br>')
document.write('finishing document....<br>')
document.write('Done....')
}
</script>

</body>
</html>
Avatar billede sjensen Nybegynder
09. april 2000 - 08:09 #1
Jeg gætter på at det er fordi du bruger navnet Write til en funktion. Prøv at kalde den for "skriv" eller "write1" eller noget lign i stedet for.

I almindelighed skal du passe på med et bruge engelske betegnelser som write, finish, done o.s.v. som funktionsnavne, da disse ofte (i alle mulige programmeringssprog) allerede er definerede som funktioner eller procedurer, eller slet og ret er reserverede ord. Ved at bruge sem overstyrer du så progammets interne funktioner og dermed kan der opstå fejl.

Så prøv at rette dine funktionsnavne så de hedder noget på dansk, eller hvis det skal være engelsk, noget der er forskelligt, f.eks. ved at tilføje flere tegn som eks. med "write1"
Avatar billede erikjacobsen Ekspert
09. april 2000 - 09:46 #2
Næh, såmænd ikke. Men når man begynder at skrive i et document, der er fiks
og færdig, så laver en fornuftig browser et nyt dokument. I det nye dokument er
der ingen af de gamle funktioner, som så ikke kan kaldes. Men det er nu en
smal sag at få funktionerne med i de document.write, der skal laves. Du kan
afteste, og hente, nedenstående på http://www.hasselager.net/skriv.htm

Undskyld det ser lidt uoverskueligt ud her på eksperten.dk:

                  <html>

                  <head>
                  <title>hej</title>
                  </head>

                  <body>

                  <script language="javascript">
                  function done() {
                  document.open();
                  document.write('opening file....<br>');
                  document.write('writing document....<br>');
                  document.write('finishing document....<br>');
                  document.write('Done....');
                  document.close();
                  }
                 
                 
                  function write() {
                  document.open();
                  document.write('<html><head><title>hej2</title></head>\n');
                  document.write('<script language="JavaScript">');
                  document.write(' function finish() {');
                  document.write(' document.open();');
                  document.write(' document.write("<html><head><title>hej2</title></head>");');
                  document.write(' document.write("<script language=\\"JavaScript\\">");');
                  document.write(' document.write(" function done() {");');
                  document.write(' document.write(" document.open();");');
                  document.write(' document.write(" document.write(\\"<html><head><title>hej3</title></head><body>\\");");');
                  document.write(' document.write(" document.write(\\"opening file...<br>writing document...<br>finishing document...<br>Done...\\");");');
                  document.write(' document.write(" document.write(\\"</body></html>\\");");');
                  document.write(' document.write(" document.close();");');
                  document.write(' document.write(" }");');
                  document.write(' document.write("</sc");document.write("ript>");');
                  document.write(' document.write("<body>");');
                  document.write(' document.write("opening file...<br>");');
                  document.write(' document.write("writing document...<br>");');
                  document.write(' document.write("finishing document...");');
                  document.write(' document.write("</body></html>");');
                  document.write(' document.close();');
                  document.write(' setTimeout("done()",1667);');
                  document.write('}');
                  document.write('</sc'+'ript>');
                  document.write('<body>');
                  document.write('opening file....<br>');
                  document.write('writing document....');
                  document.write('</body></html>\n');
                  setTimeout("finish()",1667);
                  document.close();
                  }

                  document.write('opening file....');
                  setTimeout("write()",1666);
                 
                  </script>

                  </body>
                  </html>
Avatar billede andreas Nybegynder
09. april 2000 - 10:17 #3
Jamen dette vil ikke virke, skulle bruge det til en hp

<html>

<head>
<title>Velkommen</title>
</head>

<body bgcolor="#000000" topmargin="6" leftmargin="6">

<table border="0" width="100%" cellpadding="4" cellspacing="0" bgcolor="#005177">
  <tr>
    <td width="25%" valign="top" align="left"><font face="Verdana" color="#FFFFFF"><small><small>&lt;load&gt;</small></small><br>
                  <script language="javascript">
                  function done() {
                  document.open();
                  document.write('opening file....<br>');
                  document.write('writing document....<br>');
                  document.write('finishing document....<br>');
                  document.write('Done....');
                  document.close();
                  }
                 
                 
                  function write() {
                  document.open();
                  document.write('<script language="JavaScript">');
                  document.write(' function finish() {');
                  document.write(' document.open();');
                  document.write(' document.write("<script language=\\"JavaScript\\">");');
                  document.write(' document.write(" function done() {");');
                  document.write(' document.write(" document.open();");');
                  document.write(' document.write(" document.write(\\"opening file...<br>writing document...<br>finishing document...<br>Done...\\");");');
                  document.write(' document.write(" document.close();");');
                  document.write(' document.write(" }");');
                  document.write(' document.write("</sc");document.write("ript>");');
                  document.write(' document.write("opening file...<br>");');
                  document.write(' document.write("writing document...<br>");');
                  document.write(' document.write("finishing document...");');
                  document.write(' document.close();');
                  document.write(' setTimeout("done()",1667);');
                  document.write('}');
                  document.write('</sc'+'ript>');
                  document.write('opening file....<br>');
                  document.write('writing document....');
                  setTimeout("finish()",1667);
                  document.close();
                  }

                  document.write('opening file....');
                  setTimeout("write()",1666);
                 
                  </script></font></td>
    <td height="10%" width="70%" valign="top" align="center"><img src="phpwiz.jpg" width="400"
    height="80"></td>
    <td height="10%" valign="top" align="right"><img src="php3.gif" width="96" height="50"></td>
  </tr>
  <tr>
    <td width="25%" valign="top" align="left"><table border="1" cellpadding="2"
    cellspacing="0" width="100%" bordercolor="#0080C0" bordercolorlight="#0080C0"
    bordercolordark="#0080C0">
      <tr>
        <td width="100%" bgcolor="#0080C0"><p align="center"><small><em><strong><font face="Arial">Menuen</font></strong></em></small></td>
      </tr>
      <tr>
        <td width="100%"><font face="Verdana" color="#FFFFFF"><strong><small><small>Start</small></small><br>
        </strong><small><small>&nbsp; - et eller andet</small></small></font><p><font
        face="Verdana" color="#FFFFFF"><strong><small><small>Start</small></small><br>
        </strong><small><small>&nbsp; - et eller andet</small></small></font></p>
        <p><font face="Verdana" color="#FFFFFF"><strong><small><small>Start</small></small><br>
        </strong><small><small>&nbsp; - et eller andet</small></small></font></p>
        <p><font face="Verdana" color="#FFFFFF"><strong><small><small>Start</small></small><br>
        </strong><small><small>&nbsp; - et eller andet</small></small></font></p>
        <p><font face="Verdana" color="#FFFFFF"><strong><small><small>Start</small></small><br>
        </strong><small><small>&nbsp; - et eller andet</small></small></font></p>
        <p><font face="Verdana" color="#FFFFFF"><strong><small><small>Start</small></small><br>
        </strong><small><small>&nbsp; - et eller andet</small></small></font></p>
        <p><font face="Verdana" color="#FFFFFF"><strong><small><small>Start</small></small><br>
        </strong><small><small>&nbsp; - et eller andet</small></small></font></p>
        <p><font face="Verdana" color="#FFFFFF"><strong><small><small>Start</small></small><br>
        </strong><small><small>&nbsp; - et eller andet</small></small></font></td>
      </tr>
    </table>
    </td>
    <td width="75%" colspan="2" valign="top" align="left"><table border="3" cellpadding="8"
    cellspacing="0" width="100%" bordercolor="#0097DF" bordercolorlight="#0080C0"
    bordercolordark="#006FA4" height="100%">
      <tr>
        <td width="100%" valign="top"><p align="center"><small><font face="Verdana"
        color="#FFFFFF">Velkommen til stedet for php/mysql brugerne</font></small><br>
        <br>
        </p>
        <table border="1" cellpadding="2" cellspacing="0" width="100%" bordercolor="#0080C0"
        bordercolorlight="#0080C0" bordercolordark="#0080C0">
          <tr>
            <td width="100%" bgcolor="#0080C0"><small><em><strong><font face="Arial">Dag 00-00-00 -
            Overskrift</font></strong></em></small></td>
          </tr>
          <tr>
            <td width="100%"><font face="Verdana" color="#FFFFFF"><small><small>Designet er
            ændret....</small></small></font></td>
          </tr>
        </table>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</p>
        <p>&nbsp;</td>
      </tr>
    </table>
    </td>
  </tr>
  <tr>
    <td width="25%" valign="top" align="left"><p align="left"><font face="Verdana"
    color="#FFFFFF"><small><small>Chart.dk</small></small></font></td>
    <td width="75%" colspan="2" valign="top" align="left"><p align="right"><font
    face="Verdana" color="#FFFFFF"><small><small>Andreas Krüger - Hasse Ramlev Hansen</small></small></font></td>
  </tr>
</table>
</body>
</html>
Avatar billede jytte Nybegynder
09. april 2000 - 10:25 #4
Næh, det gør det jo ikke. Men som jeg siger, så er det jo nødvendigt
at skrive hele den nye side hver gang. Dvs du skal ikke fjerne mine
<html><head>..osv, og du skal have al din information med på
hver (del)-side, f.eks. din <title>velkommen</title>, som altså
skal skrive i en document.write samt i en document.write indeni
en document.write. Nemt nok - hehe - i princippet. Skal jeg gøre det
for dig ????
Avatar billede erikjacobsen Ekspert
09. april 2000 - 10:27 #5
(Hovsa, min kone var logget ind på eksperten... hehe. Ovenstående bemærkning
er for min regning!)
Avatar billede andreas Nybegynder
09. april 2000 - 11:48 #6
ja, du må gerne gøre det
Avatar billede skørsen Nybegynder
09. april 2000 - 12:32 #7
Nedenstående skulle virke i både IE og Netscape

<BODY>

<SCRIPT LANGUAGE="JavaScript1.2">

// Generel del som virker både i Netscape og IE

function open() {
teksten="opening file...."
if (document.all) opdat(); else opdatnet()
setTimeout("write()",1666)
}

function write() {
teksten="opening file....<br>writing document...."
if (document.all) opdat(); else opdatnet()
setTimeout("finish()",1667)
}

function finish() {
teksten="opening file....<br>writing document....<br>finishing document...."
if (document.all) opdat(); else opdatnet()
setTimeout("done()",1667)
}

function done() {
teksten="opening file....<br>writing document....<br>finishing document....<br>Done....";
if (document.all) opdat(); else opdatnet()
}

// ******* Speciel del til IE *********
function opdat() {
document.all.tekst.innerHTML=teksten
}
if (document.all) document.body.onload=open

// *********** Speciel del til Netscape ***********

function opdatnet(){
var openingtags='<center><font face="Arial" size="3">'
var closingtags='</font></center>'
document.tekstnetscape.document.write('<b>'+openingtags+teksten+closingtags+'</b>')
document.tekstnetscape.document.close()
}
if (document.layers) window.onload=open

</SCRIPT>

<CENTER>
<DIV ID="tekst" STYLE="font-size:'12';font-weight:bold;"></DIV>
</CENTER>
<LAYER ID="tekstnetscape"></LAYER>

</BODY>
Avatar billede erikjacobsen Ekspert
09. april 2000 - 13:06 #8
Ja, skørsen, selvfølgelig kan man bruge DIV-tags. Men det andet er nu
meget sjovere. Nå, ok, andreas, jeg kigger lige på det.
Avatar billede skørsen Nybegynder
09. april 2000 - 13:24 #9
Hvorfor er det besværlige det sjove? Det sjove er da det enkle så man kan lave lave mere avancerede ting på den lette måde så de ser besværlige ud så.... øhhhh {:-)
Avatar billede erikjacobsen Ekspert
09. april 2000 - 15:56 #10
...og så kan min løsning klares i lidt flere browsere, men det kan man jo
så vælge at være ligeglad med.
Avatar billede skørsen Nybegynder
09. april 2000 - 22:11 #11
Det er rigtigt. Hvis du laver det på din måde og andreas derefter fortryder at han valgte min løsning i stedet for din kan du da godt få de 64 point.
Avatar billede erikjacobsen Ekspert
09. april 2000 - 23:07 #12
Nej nej, fred være med de points (der er alligevel langt til førstepladsen på eksperten).
Umiddelbart vil jeg sige at <div>-løsningen er den bedste (der er forøvrigt ingen grund
til også at bruger <layer> af hensyn til netscape). Det virker så bare ikke i version 3
browsere.

Men i det mindste fandt jeg problemet med det oprindelige script ;-)

Og så det der med at generere html-sider med javascript, der genererer html-sider med
javascript, og holde styr på alle strofferne ---- se det er simpelthen bare lykken at
få lov til en gang imellem !!!
Avatar billede olebole Juniormester
11. april 2000 - 11:38 #13
<ole>
En anden ting er, at visse browsere erfaringsmæssigt har det (jeg har aldrig set det dokumenteret!) med at blive 'trætte', hvis man skriver mange og lange strenge ind i et <div>. Det virker, som om browseren pludselig trænger til en gang neobyzantinsk trancendental meditation for at få tømt 'cellen' ;-)
Men bevares...elegant er det - og med lynopdatering!
/VH
</bole>
Avatar billede skørsen Nybegynder
11. april 2000 - 18:29 #14
Jeps, jeg kender godt til det med de neobyzantiskes trancedental meditation. Jeg har et lille script på min side hvor den mediterer et øjeblik. Måske skyldes det at det er et å den er nået til - eller hvad?
Avatar billede skørsen Nybegynder
11. april 2000 - 20:45 #15
erikjacobsen>> Jeg kan altså ikke få det til at virke i Netscape uden <layer>.
Jeg bruger Netscape 4.5
Jeg bruger det samme script som ovenstående og har ændret de to linier i Netscape delen til:
document.tekst.document.write('<b>'+openingtags+teksten+closingtags+'</b>')
document.tekst.document.close()

Det er lidt paradoksalt at jeg som har svaret på spørgsmålet nu må bede om hjælp til det samme :)
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