|
|||
onclick im parent frame
Hallo Zusammen,
ich schreibe aus einem iFrame eine Function und ein Element mit onclick Event in die parent Seite. Das onclick zeigt auf die Funktion die ich in die Seite einfüge. Wenn ich da aber versuche das onclick auszufüheren ist die Funktion undefined. Wenn ich mit Firebug schaue ist diese allerdings da. Der Code der Iframe Seite sieht etwas so aus: <div id="mytest"> <script> function testfunc(){ alert('Hallo') } </script> <div onclick="testfunc()" style="width:100px;height:100px;background-color:red">hallo Welt</div> </div> <script type="text/javascript"> var myparendiv = window.frameElement.parentNode; myvar=document.getElementById("mytest"); myobject=parent.document.getElementById(myparendiv .id) myobject.insertBefore(myvar,myparendiv.firstChild) ; </script> parent.onclick gibt zwar keinen Fehler in der Console - gibt den alert aber auch nicht aus. Das scheint irgendwie am Event zu hängen? Wäre klasse wenn mir jemand erklärt warum das nicht klappt. LG Uli |
Sponsored Links |
|
||||
Wenn wir wüßten, was du machst könnten wir das. Aber ich verstehe nicht was dein Beispielcode uns zeigen soll und wo genau das Problem ist, dass du beschriebst.
Da du von einem iframe sprichst, wäre aber die Frage, ob du die SOP beachtest? https://de.wikipedia.org/wiki/Same-Origin-Policy |
Sponsored Links |
|
|||
onclick im parent frame
Hallo Protonenbeschleuniger,
ja die sop ist beachtet. Ein normaler Funktionsaufruf würde auch funktionieren und den alert ausgeben. Was ich mache ist aus einer Iframe Seite einen Div und eine Funktion auf die Hauptseite zu schreiben und die Funktion über das onclick im Element aufzurufen. Wenn man den Code den ich gepostet habe in einem Iframe aufruft sieht man was passiert. Im original ist ein korrekter Doctype vorhanden ... Ein Aufruf der Funktion würde wie gesagt funktionieren: testfunc(); - gibt den alert aus. Nur als onclick Event nicht. Ich habe mittlerweile auch einen Workaround - wenn ich den Div mit getElement einfange und den Event auf dieses object lege funktioniert es. Wäre natürlich schon diesen Umweg wegzulassen - letztlich würde ich auch gerne verstehen warum das onclick im Div nicht funktioniert - und das Browser übergreifend. LG Uli |
|
|||
Lies mal hier --> JavaScript: Fenster- und Frameszugriff
__________________
"Wieso ist der Code schrott, ich dachte hier seien Profis..." Aus einem Forum. |
|
|||
Hallo Protonenbeschleuniger,
da war ich wohl etwas vorschnell mit dem korrekten Doctype ... Unter dem hatte ich ein <html xmlns="http://www.w3.org/1999/xhtml"> Damit funktioniert es nicht - ohne klappt es dann. Ohne dein >>Doch! hätte ich da nicht weiter gesucht. LG + schönes Wochenende uli |
|
|||
Also ich habe das so verstanden: Du rufst im Iframe einen code auf, der in etwa so lautet:
Code:
parent.document.getElementById('EinLeeresElement').innerHTML = '<DIV onclick="testfunc()">hallo</DIV><SCRIPT type="text/javascript">function testfunc () { alert("hy"); }</SCRIPT>'; Die bessere Möglichkeit: Hänge im parent-Frame nur das DIV ein und setze einen Event-Listener auf eine Funktion in der IFrame-Seite. Falls du dann Probleme mit dem Zugriff auf irgend welche Variablen der Parent-Seite bekommst, oder beim verlassen der IFrame-Seite die Funktion nicht mehr aufrufbar ist, melde dich noch mal. Wenn du unbedingt eine Funktion in der parent-Seite erzeugen möchtest, würde ich etwas, wie parent.neueFunktion = function () { alert('hy'); } versuchen. Kann sein, dass dann auch das herkömmliche onclick funktioniert. |
|
||||
Zitat:
Zitat:
Zitat:
Aber wie gesagt, das entspricht nicht dem was er gezeigt hat. da der Code ja funktioniert und es auch nicht ersichtlich ist, wo das Problem mit dem iframe sein soll. |
Sponsored Links |
Themen-Optionen | |
Ansicht | |
|
|
Ähnliche Themen | ||||
Thema | Autor | Forum | Antworten | Letzter Beitrag |
Fremden Frame mit CSS überschreiben | Hackerdeluxe | CSS | 0 | 07.09.2010 20:54 |
Befehl für Link mit onClick | Synoxis | Javascript & Ajax | 9 | 25.05.2010 15:50 |
Vom Frame aus einen Refresh steuern | THePointer | Javascript & Ajax | 1 | 21.07.2009 23:07 |
Scrollbalken im div container statt im frame | Cassiopaia | CSS | 1 | 27.06.2008 19:29 |
csss seite in frame horiz. scrollbar | Holger (HMR) | CSS | 0 | 15.09.2005 16:05 |