?? document.write-Frage ??
Herbert
- javascript
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
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
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
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