Quellcode in Textarea kopieren

Ossi

Erfahrenes Mitglied
Nun noch mal ein letzter Versuch zu einer Open-Funktion, die glaube ich, klappen könnte:

Ich brauche einen Script, der von der Startseite mit dem command identifier "Open" in einem neuen Fenster eine HTML-Datei öffnet und den HTML-Code dieser Seite in eine Textarea der aufrufenden Seite einfügt. Danach soll sich das aufgepoppte Fenster von allein schließen.

Ich hoffe, ich habe mich verständlich genug ausgedrückt ?
 
Mmmh, ich wüsste nicht, wie man an den kompletten Code kommen sollte....
Maximal könntest du alles innerhalb der HTML-Tags auslesen.

Aber warum ein Fenster öffnen...
nehm ein "dynamisches Javascript"...
Diesem Skript.... ein PHP-File, welches dir die URL ausliest und den entsprechenden JS-Code liefert, um den Code in das <textarea> zu schreiben,
übergibst du als Parameter die jeweilige URL.... in der Seite selbst brauchst du einen Dummie-<script>-Tag.... nach Eingabe der URL(von mir aus über ein Formularfeld) wird
die src dieses <script>-Tags geändert... die Seite selbst wird nicht neu geladen.

Habs zum Testen mal hochgeladen.
(aus erdenklichen Gründen hab ich im Beispiel nur URL's mit http:// gestattet)
Ist nur mit'm IE getestet, geht dort prima :)
Das Skript hängt dranne...
 

Anhänge

Hmm, leider scheint der Mozilla Probleme mit
window.document.getElementsByTagName('script')[0].src = "xyz"
zu haben:
Er läd die Datei nicht neu :rolleyes:

Eine passende Lösung hab ich bis jetzt noch nicht gefunden.
Kann sein, dass Gecko eine Funktion besitzt, um Scripts neuzuladen.

Aber ansonsten musst du halt die Seite neu laden.
 
:(
Jo, gibt wohl doch noch nen paar Sachen, die die Geckos nicht können.
Habs auch mit setAttribute() probiert...nix zu machen, obwohls eigentlich normales DOM ist.

Na dann eben nen Paar Zeilen dazu, und in ein verstecktes Frame geladen...:-)

Haut jetzt auch in Opera und Mozilla hin.
 

Anhänge

Funktioniert Prima (IE) !

Aber, eigentlich brauche ich eine Funktion, die mir den Quellcode (zwischen <body> und </body>) einer auszuwählenden lokalen HTML-Datei (ev. mit dem Formularobjekt input name="Datei" type="file" die URL übergeben) in eine Textarea, ein DIV oder ein Inline Frame der aufrufenden Seite kopiert.

Ein Beispiel, wie das so in etwa funktionieren könnte, habe ich gefunden:

b = 'quelle.htm';
c = window.open(b);
d = c.document.getElementsByTagName('body')[0].innerHTML;
c.close();
document.writeln(d);

Die URL von b müßte dabei durch input="Datei" type="file" übergeben werden und das document.writeln sollte in der Textarea (DIV, Inline Frame) passieren.

Geht sowas ?
 
Naja, das könntest du doch auch gleich mit PHP machen:
Code:
preg_match("/<body>(.*?)<\/body>/i", $sData, $aBodyData);
 
Das geht schon... du kannst ja die hochgeladene Seite mit php auslesen...
die URL aus dem <input type="file"> mit Javascript auszulesen und in einem Popup zu öffnen... das bezweifle ich aber, dass das geht.... man hat mit Javascript so gut wie keinen Zugriff auf Upload-Felder.

ich frag mich allerdings, wozu das ganze... ich bearbeite meine lokalen Dateien am liebsten mit meinem Editor....

Wieauchimmer, ich werd das heut Nacht mal hochladen... jetzt muss ich weg :-)
 
Einen Lösungsansatz habe ich nach tagelanger Sucherei gefunden.
Das Beispiel lädt eine lokale Datei unter Verwendung von input type="file" in ein separates Fenster.

im HEAD:

<script language="javascript">
<!--Script Datei laden -->
function displayLocalFile (fileName) {
var url = 'file:///' + fileName;
open (url, 'preview');
}
</script>

im BODY:

<form name="aForm">
<input type="file" name="aFile">
<br>
<input type="button" value="Datei laden"
onclick="displayLocalFile(this.form.aFile.value);">
</form>

Wenn jetzt noch der HTML-Quellcode der aufgerufenen Seite (innerhalb des BODY´s) in eine Textarea kopiert und danach das aufgepoppte Fenster selbständig geschlossen würde, dann wäre das Werk vollbracht .........
 
Das mit dem lokalen auslesen hab ich erst garnicht probiert.... selbst wenn das in dem ein oder anderen Browser aus dem Hause M$ gehen sollte, gehe ich mal davon aus, dass
es andere Brauser nicht tun... auf diese Art könnte man schliesslich ohne Zutun des Besuchers Dateien von seiner Festplatte durchs Netz verschicken.... das dürfte nicht ganz unproblematisch sein :-)
Also---dritter Vorschlach mit zusätzlichem Dateiupload und wahlweiser Anzeige von ganzem Dokument/<body>...(nen 4. wirds nicht geben... sind jetzt , glaube ich, genug Ansatzpunkte dabei :-) )
 

Anhänge

Neue Beiträge

Zurück