Herbert: ?? document.write-Frage ??

Hallo. Ich schaffe es nicht, diesen Code extern mit document.write("..."); zu schreiben. Es kommen nur Fehlermeldungen im IE. Könnt ihr mal den ganzen Code posten (Bitte, den ich dann in die Externe Datei einfügen kann. Hier ist der Quelltext.:

<DIV ID="topm">
<SCRIPT LANGUAGE="JavaScript">
<!--
context = new setMenuPanel(140,"#CCCCCC","DevContext (c) 2001 Devshare.de");
          context.setMenu("Zurück","menuback","Hallo ...","javascript:history.back()","#CFD6E8","#CCCCCC");
          context.setMenu("Vorwärts","menuforward","Ja ...","javascript:history.forward()","#CFD6E8","#CCCCCC");
          context.setMenu();
          context.setMenu("Zu Favoriten hinzufügen...","menufavorite","Hallo ...","javascript:alert('Nix da! Das musst Du schon mit Hand machen :-)')","#CFD6E8","#CCCCCC");
          context.setMenu("Aktualisieren","menurefresh","Ja ...","javascript:location.reload()","#CFD6E8","#CCCCCC");
          context.setMenu();
          context.setMenu("Quelltext anzeigen","menusource","Nummer 3","javascript:void(location='view-source:'+window.location.href)","#CFD6E8","#CCCCCC");
          context.setMenu("Drucken","menuprint","3","javascript:window.print()","#CFD6E8","#CCCCCC");
          document.write( context.printMenuPanel() ); // w/Netscape

//-->
</SCRIPT>
</DIV>

<DIV ID="waitDiv" style="position:absolute;left:40%;top:40%;visibility:hidden"><center><table cellpadding=6 border=0 ><tr><td align=center></center>
<center><img src="wait.gif" width=360px" height="120px border="0" width="200" height="20"></center><br>
</td></tr></table></center></DIV> <SCRIPT> <!--
var DHTML = (document.getElementById || document.all || document.layers);
function ap_getObj(name) { if (document.getElementById) { return document.getElementById(name).style; } else if (document.all) { return document.all[name].style;
} else if (document.layers) { return document.layers[name]; } } function ap_showWaitMessage(div,flag) { if (!DHTML) return; var x = ap_getObj(div); x.visibility = (flag) ? 'visible':'hidden'
if(! document.getElementById) if(document.layers) x.left=280/2; return true; } ap_showWaitMessage('waitDiv', 1);
//-->
</SCRIPT>

Ich habe alles schon nach Word kopiert dann Suchen/Ersetzten gemacht:
-alle \ durch \ zu

  • " zu '
    -Und document.write(" am Anfang jedr Zeile eingefügt
  • "); am Ende jeder Zeile eingefügt
  1. Halihallo

    Hallo. Ich schaffe es nicht, diesen Code extern mit document.write("..."); zu schreiben. Es kommen nur Fehlermeldungen im IE.

    bestimmt ist es der Fehler 0x09f843gts38d50tw435, gelle? :-)
    Blöder Scherz: Keine Ahnung => Du solltest, wenn Fehler auftauchen, diese auch _nennen_, wir sind ja keine Hellseher...

    Könnt ihr mal den ganzen Code posten (Bitte, den ich dann in die Externe Datei einfügen kann. Hier ist der Quelltext.:

    He? - Du willst das ganze Konstrukt von unten über document.write ausgeben lassen, oder was?

    [...struct...]

    Ich habe alles schon nach Word kopiert dann Suchen/Ersetzten gemacht:
    -alle \ durch \ zu

    das ist schon mal gut.

    • " zu '

    das gibt bei Verschachtelungen bull-shit...

    besser wäre:

    " => ' + '"' + '
    ' => ' + "'" + '

    -Und document.write(" am Anfang jedr Zeile eingefügt

    • "); am Ende jeder Zeile eingefügt

    und was bringt das? - Soll ein test sein, oder?

    wichtig ist auch noch zu sagen, dass du folgendes ändern musst/solltest:

    <script></script>    =>  '<'+'script'+'>'+'<'+'/script'+'>' // selbe Prozedur für _jeden_ HTML-Tag.

    einige Browser scheinen bei HTML-Tags in document.write ihre Probleme zu haben und versuchen die Tags gleich zu interpretieren, obwohl dies gar nicht geschehen sollte...

    Viele Grüsse

    Philipp

    1. Halihallo

      besser wäre:

      " => ' + '"' + '
      ' => ' + "'" + '

      wichtig ist auch noch zu sagen, dass du folgendes ändern musst/solltest:

      <script></script>    =>  '<'+'script'+'>'+'<'+'/script'+'>' // selbe Prozedur für _jeden_ HTML-Tag.

      http://forum.de.selfhtml.org/archiv/2002/6/14003/#m77754

      dort wurde das Thema auch schon behandelt

      Viele Grüsse

      Philipp

  2. Und nochmals Halihallo

    Hallo. Ich schaffe es nicht, diesen Code extern mit document.write("..."); zu schreiben. Es kommen nur Fehlermeldungen im IE. Könnt ihr mal den ganzen Code posten (Bitte, den ich dann in die Externe Datei einfügen kann. Hier ist der Quelltext.:

    sag mal: Wo ist eigentlich das ganze MenuPanel-Zeug definiert? - Klar, dass ein Fehler kommt, wenn du dies nirgens definiert hast... Lädst du das mit irgendeiner .js ein?

    [...source...]

    und so sieht er mit document.write aus:

    document.write('<'+'DIV ID="topm">'+'<'+'SCRIPT LANGUAGE="JavaScript">'+'<'+'!--context = new setMenuPanel(140,"#CCCCCC","DevContext (c) 2001 Devshare.de");          context.setMenu("Zurück","menuback","Hallo ...","javascript:history.back()","#CFD6E8","#CCCCCC");          context.setMenu("Vorwärts","menuforward","Ja ...","javascript:history.forward()","#CFD6E8","#CCCCCC");          context.setMenu();          context.setMenu("Zu Favoriten hinzufügen...","menufavorite","Hallo ...","javascript:alert('+"'"+'Nix da! Das musst Du schon mit Hand machen :-)'+"'"+')","#CFD6E8","#CCCCCC");          context.setMenu("Aktualisieren","menurefresh","Ja ...","javascript:location.reload()","#CFD6E8","#CCCCCC");          context.setMenu();          context.setMenu("Quelltext anzeigen","menusource","Nummer 3","javascript:void(location='+"'"+'view-source:'+"'"+'+window.location.href)","#CFD6E8","#CCCCCC");          context.setMenu("Drucken","menuprint","3","javascript:window.print()","#CFD6E8","#CCCCCC");          document.write( context.printMenuPanel() ); // w/Netscape//-->'+'<'+'/SCRIPT>'+'<'+'/DIV>'+'<'+'DIV ID="waitDiv" style="position:absolute;left:40%;top:40%;visibility:hidden">'+'<'+'center>'+'<'+'table cellpadding=6 border=0 >'+'<'+'tr>'+'<'+'td align=center>'+'<'+'/center>'+'<'+'center>'+'<'+'img src="wait.gif" width=360px" height="120px border="0" width="200" height="20">'+'<'+'/center>'+'<'+'br>'+'<'+'/td>'+'<'+'/tr>'+'<'+'/table>'+'<'+'/center>'+'<'+'/DIV>'+' <'+'SCRIPT>'+' <'+'!--var DHTML = (document.getElementById || document.all || document.layers);function ap_getObj(name) { if (document.getElementById) { return document.getElementById(name).style; } else if (document.all) { return document.all[name].style;} else if (document.layers) { return document.layers[name]; } } function ap_showWaitMessage(div,flag) { if (!DHTML) return; var x = ap_getObj(div); x.visibility = (flag) ? '+"'"+'visible'+"'"+':'+"'"+'hidden'+"'"+'if(! document.getElementById) if(document.layers) x.left=280/2; return true; } ap_showWaitMessage('+"'"+'waitDiv'+"'"+', 1);//-->'+'<'+'/SCRIPT>'+'');

    Tja, alle \n sind übrigens auch net ganz JS konform...

    Perl-Code:
    open( F, '<in.html' );
    my $t = join('', <F>);
    close F;

    $t =~ s/'/'+"'"+'/g;
    $t =~ s/</<'+'/g;
    $t =~ s/>/>'+'/g;
    $t =~ s/\n//g;

    open( F, '>out.js' );
    print F 'document.write('' . $t . '');';
    close F;
    print 'document.write('' . $t . '');';

    damit kann man html in JS-document.write transformieren (hoffentlich *g*)...

    Viele Grüsse

    Philipp