• Jetzt anmelden. Es dauert nur 2 Minuten und ist kostenlos!

Per JavaScript HTML-Elemente (Text, Steuerelemente, Bilder, etc.) kopieren

Status
Für weitere Antworten geschlossen.

tschroeder

Neues Mitglied
Hallo,

bin hier fast am Verzweifeln. Google wie ein Wahnsinniger, aber bin für sämtliche Foren-Posts und Dokus zu behindi :-(

Problem:

Befinde mich in einem Window-Objekt, das einen Iframe enthält (Name: iframe_insert).
Nun möchte ich wissen, ob folgende Möglichkeiten bestehen:

- Einen Text aus dem Ursprungsfenster (im body) in den Iframe zu kopieren (nicht in ein Steuerelement, sondern in das "document").

- Noch doller: Könnte ich ganze Objekte, bspw. Steuerelemente, Bilder, komplette div's, den body, den kompletten Inhalt des Ursprungsfensters in den Iframe kopieren?

Habe eine ganze Weile rumprobiert, mit CreateRange(), execCommand('Copy') und execCommand('Paste').
Mir fehlt aber der Überblick, der Zusammenhang, ein roter Faden, das "große Ganze"... und nach stundenlangem Googlen hängt mir jetzt die Zunge raus.

Gibt es irgendwo eine Doku, die alles umfasst (und die ich verstehe)?
Habe regulär kein Problem mit JavaScript, die Grundlagen sind vorhanden, da ich viel client-seitig mit JavaScript mache.
Nur das obige Thema ist komplett neu für mich. Habe nur gehört, dass diese ganzen Funktionen v.a. bei browserbasierten WYSIWYG-Editoren zum Einsatz kommen.

Der Code braucht bei mir nur im IE zu funktionieren.
Wäre für eine Intranet-Anwendung, die ohnehin den IE voraussetzt (auch wegen unzähliger Modaler Dialoge, client-seitigem ActiveX usw.).

Freue mich auf Feedback. Vielleicht komme ich ja einen Schritt weiter...

Gruß aus dem sonnigen Stuttgart

Thomas
 
Was genau willst du kopieren? Etwas, was der User markiert hat, oder einfach irgendwelche Elemente mit cloneNode()/importNode()?
 
Was genau willst du kopieren? Etwas, was der User markiert hat, oder einfach irgendwelche Elemente mit cloneNode()/importNode()?

Hallo,

hatte eigentlich vor, per execCommand('Copy') und execCommand('Paste') nahezu komplette Dokumente zu kopieren, aber da ist wohl ein wenig die Fantasie mit mir durchgegangen :-)

Gruß

Thomas
 
execCommand() +copy/paste macht nicht anderes, als würdest du STRG+C/STRG+V drücken.

In den meisten Browsern muss das explizit zugelassen werden.
 
Ich mach mal nen Anfang...

index.html:
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Testpopup</title>
<script type="text/javascript">
<!--
function oeffnePopUp() {
    var popUp = window.open("popup.html", "popUp");
}
window.onload = oeffnePopUp;
-->
</script>
</head>
<body>

<h1>Testseite</h1>
<h2>Anliegen</h2>
<p>Was wei&szlig; ich. Test.</p>
<h2>Problem</h2>
<p>Test </p>
</body>
</html>

popup.html
PHP:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
<title>Testpopup</title>
<script type="text/javascript">
<!--
function initPopUp() {
    document.body.innerHTML = opener.document.body.innerHTML;
}
window.onload = initPopUp;
-->
</script>
</head>
<body>
</body>
</html>

Sicher kann man den Script im Popup auch durch einen im öffnenden Fenster ersetzen...

Gruß
Junny
 
Status
Für weitere Antworten geschlossen.
Zurück
Oben