Das funktioniert soweit auch ganz gut, bis man feststellt, dass man nicht auf "http://de.wikipedia.org/" bleibt, wenn man dies aufruft, sondern zu "http://de.wikipedia.org/wiki/Wikipedia:Hauptseite" weitergeleitet wird.
Von getElementByID wird einem jedoch "vorgegaukelt", dass man auf "http://de.wikipedia.org/" sei.
Das src-Attribut gibt wieder, was du im HTML-Code ursprünglich gesetzt hast bzw. mittels JavaScript nachträglich verändert hast.
Wenn der Anwender im Frame navigiert hat, dann kannst du das nicht über das src-Attribut herausbekommen.
Gibt es eine Möglichkeit, dass die tatsächlich im iFrame angezeigte URL ausgegeben wird
document.getElementById("iframe").contentWindow.location.href
Das geht aber nur, wenn sich die angezeigte Seite im Iframe auf derselben Domain befindet wie die einbindende Seite. Sonst schlägt die Same Origin Policy zu und unterbindet den Domain-übergreifenden Zugriff.
Auch von mir die Bitte, mal deine Aufgabenstellung näher zu erläutern; aus deinem Beispiel wird das nicht ganz klar.
Mathias