Netscape6 Quelltext anzeigen bei dynamisch erzeugten Webseiten
Günter Marchewka
- browser
Liebes Forum,
am frühen Sonntagmorgen beschäftigt mich folgendes Problem:
Über die unten eingefügte function erzeuge ich dynamisch eine neue Webseite (das klappt ohne Probleme).
Nun möchte ich mir den tatsächlich generierten HTML-Code ansehen.
Unter Netscape 6 bekomme ich ihn über "Quelltext anzeigen" jedoch nicht zu sehen.
Was muss ich machen, damit es geht?
Danke für Euer Interesse.
Gruß
Günter
Hier der Code mit Hinweisen zu meinen bisherigen Erfahrungen:
// ----------------------------------------------
// function saveData
//
// Aktivierung : Über einen Button auf der Webseite
// Aufrufparameter : Keine
// Returnwerte : Keine
// Aktion : Erzeugt eine neue Webseite, über die der aktuell vorhandene Code dieser
// Seite sichtbar wird und gespeichert werden kann.
// Zweck : Online dynamisch erstellte Konfigurationszeichnungen abspeichern zu können.
// Ohne diese Funktion wäre es nicht möglich, das Ergebnis der Arbeit zu sichern.
// Probleme : Keine
// Besonderheiten : Verwendet in der Funktion window.open den Namen einer nicht existenten Seite.
// Dies führt dazu, das beim Erstellen der neuen Seite erst kurz die
// 404-Meldung erscheint. Danach wird aber die generierte Seite angezeigt.
// Das eröffnet eine Kontrollmöglichkeit im Serverlog, um die
// Benutzungshäufigkeit dieser Funktion zu erkennen.
// Je nach dem verwendeten Betriebssystem und Browser erfolgt u.U. bereits bei der
// Bearbeitung eine Umsetzung der relativen Pfadangaben für die Bilder in
// absolute Pfadangaben. Deshalb die komischen replace-Anweisungen.
//
// Unter Netscape6 kommt es zu einem Totalzusammenbruch des Browsers, wenn das neue
// Fenster nicht erst einmal quasi ohne Inhalt erzeugt wird.
// ----------------------------------------------
function saveData()
{
if (!document.all)
{
if (!newWindow) newWindow = window.open('blank','blank'); // Der erste Block zum Erzeugen eines neuen Fensters ist für Netscape6, der ansonsten mit einem Fehler zusammenbricht.
newWindow.document.open();
newWindow.document.write('<HTML><BODY></BODY></HTML>');
newWindow.document.close();
}
var myData = '';
myData += '<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><HTML><HEAD><TITLE>Jelue.de ==> Konfigurationszeichnungen ==> Demo</TITLE><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">';
myData += '<link rel=stylesheet type="text/css" href="zeichnung.css">';
if (!bgColorBody) myData += '</HEAD><BODY BGCOLOR="aaddee">';
else myData += '</HEAD><BODY BGCOLOR="' + bgColorBody + '">';
myData += '<H1 align="right">Jelue</H1><HR><H2 align="center">Demo Konfigurationszeichnung</H2>';
myData += '<br><a>Speichern ==> rechte Maustaste ==> Quelltext anzeigen ==> Datei ==> speichern unter</a>';
myData += '<dir><dir>';
if (document.all) myData += document.all.oData.innerHTML.replace(/="Leer.gif/ig,'="Linie_Leer.gif').replace(//Leer.gif/ig,'/Linie_Leer.gif');
else myData += document.getElementById('oData').innerHTML.replace(/="Leer.gif/ig,'="Linie_Leer.gif').replace(//Leer.gif/ig,'/Linie_Leer.gif');
myData += '</dir></dir>';
myData += '</BODY></HTML>';
if (!newWindow) newWindow = window.open('blank','blank');
newWindow.document.open();
newWindow.document.write(myData);
newWindow.document.close();
}
// ----------------------------------------------
Liebes Forum,
am frühen Sonntagmorgen beschäftigt mich folgendes Problem:
Über die unten eingefügte function erzeuge ich dynamisch eine neue Webseite (das klappt ohne Probleme).
Nun möchte ich mir den tatsächlich generierten HTML-Code ansehen.
Unter Netscape 6 bekomme ich ihn über "Quelltext anzeigen" jedoch nicht zu sehen.
Was muss ich machen, damit es geht?
Danke für Euer Interesse.
Gruß
Günter
Hier der Code mit Hinweisen zu meinen bisherigen Erfahrungen:
// ----------------------------------------------
// function saveData
//
// Aktivierung : Über einen Button auf der Webseite
// Aufrufparameter : Keine
// Returnwerte : Keine
// Aktion : Erzeugt eine neue Webseite, über die der aktuell vorhandene Code dieser
// Seite sichtbar wird und gespeichert werden kann.
// Zweck : Online dynamisch erstellte Konfigurationszeichnungen abspeichern zu können.
// Ohne diese Funktion wäre es nicht möglich, das Ergebnis der Arbeit zu sichern.
// Probleme : Keine
// Besonderheiten : Verwendet in der Funktion window.open den Namen einer nicht existenten Seite.
// Dies führt dazu, das beim Erstellen der neuen Seite erst kurz die
// 404-Meldung erscheint. Danach wird aber die generierte Seite angezeigt.
// Das eröffnet eine Kontrollmöglichkeit im Serverlog, um die
// Benutzungshäufigkeit dieser Funktion zu erkennen.
// Je nach dem verwendeten Betriebssystem und Browser erfolgt u.U. bereits bei der
// Bearbeitung eine Umsetzung der relativen Pfadangaben für die Bilder in
// absolute Pfadangaben. Deshalb die komischen replace-Anweisungen.
//
// Unter Netscape6 kommt es zu einem Totalzusammenbruch des Browsers, wenn das neue
// Fenster nicht erst einmal quasi ohne Inhalt erzeugt wird.
// ----------------------------------------------
function saveData()
{
if (!document.all)
{
if (!newWindow) newWindow = window.open('blank','blank'); // Der erste Block zum Erzeugen eines neuen Fensters ist für Netscape6, der ansonsten mit einem Fehler zusammenbricht.
newWindow.document.open();
newWindow.document.write('<HTML><BODY></BODY></HTML>');
newWindow.document.close();
}
var myData = '';
myData += '<!doctype html public "-//w3c//dtd html 4.0 transitional//en"><HTML><HEAD><TITLE>Jelue.de ==> Konfigurationszeichnungen ==> Demo</TITLE><meta http-equiv="content-type" content="text/html; charset=ISO-8859-1">';
myData += '<link rel=stylesheet type="text/css" href="zeichnung.css">';
if (!bgColorBody) myData += '</HEAD><BODY BGCOLOR="aaddee">';
else myData += '</HEAD><BODY BGCOLOR="' + bgColorBody + '">';
myData += '<H1 align="right">Jelue</H1><HR><H2 align="center">Demo Konfigurationszeichnung</H2>';
myData += '<br><a>Speichern ==> rechte Maustaste ==> Quelltext anzeigen ==> Datei ==> speichern unter</a>';
myData += '<dir><dir>';
if (document.all) myData += document.all.oData.innerHTML.replace(/="Leer.gif/ig,'="Linie_Leer.gif').replace(//Leer.gif/ig,'/Linie_Leer.gif');
else myData += document.getElementById('oData').innerHTML.replace(/="Leer.gif/ig,'="Linie_Leer.gif').replace(//Leer.gif/ig,'/Linie_Leer.gif');
myData += '</dir></dir>';
myData += '</BODY></HTML>';
if (!newWindow) newWindow = window.open('blank','blank');
newWindow.document.open();
newWindow.document.write(myData);
newWindow.document.close();
}
// ----------------------------------------------
Hallo,
grundsätzlich ist document.write by DOM2 der schlechtere Weg.
neWindow=window.open("dummy.html","dummy");
/* In dummy.html HTML-Version deklarieren (HTML 4.01) mit HEAD und HTML */
newWindow.document.createElement("BODY");
newWindow.document.getElementByTagName("BODY").childnodes[0].data=mydata
Dann Seite speichern !
Lieber MichelM, Liebes Forum,
grundsätzlich ist document.write by DOM2 der schlechtere Weg.
neWindow=window.open("dummy.html","dummy");
/* In dummy.html HTML-Version deklarieren (HTML 4.01) mit HEAD und HTML */
newWindow.document.createElement("BODY");
newWindow.document.getElementByTagName("BODY").childnodes[0].data=mydata
Danke für Deine Anregung, es mit DOM-Mitteln zu versuchen.
Leider klappt document.getElementsByTagName("BODY").childNodes[0].data nicht. Zum einen gibt es keinen childNode zum anderen geht data nur bei Textknoten.
Für childNodes (oder wie Du geschrieben hast childnodes) kommt nur die Fehlermeldung "...has no properties".
Auch bei einem eintragen von <BODY> in dummy.htm oder Versuchen mit appendData oder ähnlichem komme ich nur weiter weg von meinem Ziel. Die Seite wird gar nicht mehr erzeugt.
Kannst Du mir sagen, weshalb document.write die schlechtere Wahl sein soll? Damit erhalte ich immerhin die korrekte Seite.
Vielleicht kann jemand anders mir noch einen Tipp geben, wie ich den Quelltext anzeigen lassen kann?
Die Alternative, ein extra Fenster mit dem Text in einer Textarea anzeigen zu lassen, halte ich für unbequem für die Benutzer, da es dann ein Vorschau-Fenster und ein separates Fenster für die Code-Anzeige geben muss, in dem die Benutzer mit copy und paste arbeiten müssten.
Gruß
Günter