Frage zu Javascript und Iframes
|
|
Javascript-Quelltext |
1 2 3 4 |
<script type="text/javascript"> function zugriff() { alert ( document.getElementById('iframe1').contentWindow.getElementById('a').value ); } </script> |
Der HTML Teil:
|
|
HTML |
1 2 3 4 5 |
<body onload="zugriff()"> <iframe id="iframe1"> <div id="a" value="b"></div> </iframe> </body> |
Der Browser meldet immer einen Javascript Error: "Object doesn't support this property or method".
Weiß jemand weiter?
Danke fürs Reinschauen.
Dieser Beitrag wurde bereits 6 mal editiert, zuletzt von »sona« (4. August 2011, 15:33)
|
|
HTML |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 |
<!DOCTYPE html> <html> <head></head> <body> <iframe id="iframe1"> <div id="a" value="b"></div> </iframe> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script type="text/javascript"> $(function(){ var wertDesLinks = $('#iframe1 #a').attr('value'); // gibt mir den wert des attributes value , welcher sich in einem element mit der id iframe1 befindet alert(wertDesLinks); //sollte b rauskommen }) </script> </body> </html> |
-Cruel Online-
Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von »cccpmik« (4. August 2011, 15:44)
Über
|
|
Javascript-Quelltext |
1 |
document.getElementById('hidden2').contentWindow.document.getElementById('a').value |
Edit: Das Alert mit der Jquery Methode gibt leider nur ein "undefined" aus
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »sona« (4. August 2011, 15:55)
http://de.selfhtml.org/javascript/objekte/frames.htm. aber ein iframe kann kein html in sich haben, bzw wird dein div id=a nur dann angezeigt, wenn iframes deaktiviert sind, sonst steht im iframe element der html code aus der src eigenschaft.
EDIT:
das hat bei mir funktioniert
index.html
|
|
HTML |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
<!DOCTYPE html> <html> <head></head> <body> <iframe id="iframe1" src="test.html"></iframe> <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.6.2/jquery.min.js"></script> <script type="text/javascript"> $(function(){ var wertDesLinks = $('#iframe1').contents().find("#a").attr('value'); alert(wertDesLinks); //b wird angezeigt }) </script> </body> </html> |
test.html
|
|
HTML |
1 |
<div id="a" value="b"></div> |
-Cruel Online-
Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von »cccpmik« (4. August 2011, 16:01)
Wenn man innerhalb eines iframes html code mit einem JavaScript hat, kann dieses Javascript über parent.undsoweiter auf die Elemente des übergeordneten Fensters zugreifen, aber das müßte doch auch andersrum möglich sein?
|
|
Javascript-Quelltext |
1 |
window.frames.frame1Name.document.getElementById("a").value |
aber wieso gibst du eine php seite als src in einem iframe? kannst doch dann gleich <?php include 'meiniframe.php'; ?> machen
-Cruel Online-
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cccpmik« (4. August 2011, 16:06)
Weil die vom PHP Skript erzeugte Ausgabe wierderum ein Javascript enthält, welches die Inhalte des parent documents dynamisch ändert, ohne daß gleich die ganze Seite neu geladen werden mussaber wieso gibst du eine php seite als src in einem iframe? kannst doch dann gleich <?php include 'meiniframe.php'; ?> machen
Die letzte Variante mittels JQuery hat erstaunlicherweise funktioniert!
Ich würds nur gern ohne JQuery hinkriegen, weil das JQuery Skript ist knapp 0,1 MB groß
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »sona« (4. August 2011, 16:26)
es geht bestimmt auhc ohne, leider habe ich mich in letzten jahren so viel mit jQuery außeinander gesetzt, dass ich reinen JS nicht mehr kann
und was sind schon 0.1 MB?
-Cruel Online-
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cccpmik« (4. August 2011, 16:31)
Man kann es so ansprechen:
Das iframe enthält wiegesagt eine html Datei oder die php Ausgabe. hat aber neben der "id" noch die Eigenschaft "name".
Über diesen name und window bekommt man Zugriff auf die Elemente in dem iframe:
|
|
HTML |
1 |
<iframe id="iframe1" name="iframe1" src="ifr1.php"></iframe> |
JavaScript Zugriff auf das div mit der id 'a' über:
|
|
Javascript-Quelltext |
1 |
window.iframe1.document.getElementById('a').value |
Ich schätze der Knackpunkt war, daß man den HTML Code nicht direkt zwischen den iframe tags eintragen darf,
sondern über src gehen muß!
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »sona« (4. August 2011, 17:37)
aber ein iframe kann kein html in sich haben, bzw wird dein div id=a nur dann angezeigt, wenn iframes deaktiviert sind, sonst steht im iframe element der html code aus der src eigenschaft.
ich glaube ich habe das vor fast 2 stunden dir gesagt
bei selfhtml steht auch sowas wie
|
|
HTML |
1 2 3 |
<iframe src="bla.html"> Ihr browser unterstützt keine Iframes.. </iframe> |
-Cruel Online-
Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von »cccpmik« (4. August 2011, 17:47)
Ähnliche Themen
-
(X)HTML & CSS & DHTML & Javascript »-
Fräge zu iFrames ...;-)
(29. Dezember 2003, 17:00)
-
(X)HTML & CSS & DHTML & Javascript »-
auf 1 linkk 2 iframes geht das ?
(8. Juli 2003, 19:15)
-
(X)HTML & CSS & DHTML & Javascript »-
Forum / tabellen
(22. Mai 2003, 19:39)
-
(X)HTML & CSS & DHTML & Javascript »-
2 Frames gleichzeitig ändern ?
(21. März 2003, 13:07)
-
(X)HTML & CSS & DHTML & Javascript »-
Inline frames?
(20. November 2002, 15:04)


