Javascript

Liebe/-r Javascript Experte/-in,
Hätte da eine Anfängerfrage.
Ich möchte den Wert der ‚src‘-Eigenschaft aus einem IFrame über Javascript in einem ‚alert‘-Fenster ausgeben lassen.
Habe schon mit ‚GetElementById‘ und Ähnlichem rumexperimentiert, Bekomms nur leider nich hin den Wert auszulesen.
Hier mal der Code:

alert(document.GetElementById(‚if1‘).src);

Wäre dankbar wenn mir da jemand nen Tip geben könnte.
Mit freundlichem Gruß
Daniel…

Hallo,

also wenn du das Get von GetElementById klein schreibst, sollte es eigentlich funktionieren.
Hier mal der Code, so wie er bei mir funktioniert:

alert(document.getElementById(‚if1‘).src);

Gruss Mathias

servus daniel,

dein ansatz ist komplett richtig, aber…

entweder versteh ich dein problem nicht
oder du hast nicht ein mal den google befragt:
http://www.google.com/search?q=javascript+get+iframe…

vielleicht ist dein problem,
dass viele browser aus sicherheitsgründen sowas nich haben wollen … stichwort: cross-site-scripting

gruß
people

Hi,

Du hattest es eigentlich soweit richtig… nur musst Du bei JS die Groß-/Kleinschreibung genau beachten…

alert(document.getElementById(‚if1‘).src);

Grüße,
Michael

Hi Daniel,

Dass Dein Script nicht funktioniert hat drei Gründe:

1.) In JavaScript zählt die Groß- und Kleinschreibung. Deshalb ist „document.GetElementById()“ falsch, es muss „document.getElementById()“ sein.

2.) Dein IFrame-Anfangs-Tag ist nicht geschlossen, deshalb existiert das Element womöglich nicht im DOM. Also muss es " " sein.

3.) Der Punkt ist wohl der wichtigste, da ist es nicht so leicht drauf zu kommen:
Dein Browser fängt an das JavaScript abzuarbeiten bevor das Dokument geladen ist.
Deshalb findet er das Element mit der ID „if1“ nicht. Es gibt in JavaScript eine Möglichkeit das Problem zu umschiffen:

window.onload = function() {
alert(document.getElementById(‚if1‘).src);
}

window.onload() wird immer ausgeführt sobald alles geladen ist, somit also auch Dein Script. Ich hab es im FireFox getestet, da funktioniert es.

Ansonsten solltest Du Dir mal JQuery anschauen, damit lässt einfach arbeiten und hat auch den Vorteil dass Du Dir keine Gedanken über Browser und deren Versionen machen musst.
Ich benutzte JQuery für eigentlich alles außer ganz einfache 2-Zeiler.
Trotzdem kann es nicht schaden sich mit JavaScript vertraut zu machen. Viel Spaß noch.

mfg,
mdev

Hallo Daniel,

achte auf die Groß-/Kleinschreibung.

Es muss

document.getElementById(‚if1‘).src

geschrieben werden, sonst klappt das nicht.

Gruß
xmurrix

Hi Daniel,

dein einzigster Fehler war, dass du getElementById am Anfang klein schreiben musst :smile:

MfG :smile:

hallo daniel,

Habe schon mit ‚GetElementById‘ und Ähnlichem

die namen der objekte und classen sind case-sensitiv = groß- und kleinschreibung beachten

mit kleinem g --> getElementById

alert(document.getElementById(‚if1‘).src);

gruß
klaus

Hey Mathias,

Danke für die schnelle Antwort. War wirklich bloß die Groß/Kleinschreibung. Bin fast verzweifelt.
Naja - so`n dummer Fehler passiert mir bestimmt kein zweies Mal.

Danke und Schönen Abend

Hey,
Danke für die schnellen Antworten. War wirklich nur n simples Groß/Kleinschreibeproblem.
Hätt ich eigentlich selber drauf kommen müssen.
Sowas trifft. :smile:

Danke und schönen Abend
Gruß Daniel…

Hallo Daniel,

versuche dieses mal:

iFrame src auslesen

alert(document.getElementById(„Goog“).src);

Viele Grüße
Markus

Hallo
Ich habe das noch nicht ausprobiert, aber vermutlich ist hier ein Schreibfehler drin

alert(document.getElementById(‚if1‘).src);
^^

Dieser Code hat bei mir im Firefox funktioniert (wenn die src-Datei des Iframes erreichbar ist):

alert(document.getElementById(‚if1‘).src);

Alternativ dazu könntest du es auch mal mit
alert(document.getElementById(‚if1‘)) versuchen, ob du überhaupt an das richtige Objekt kommst.

Evtl. funktioniert es auch mit document.getElementById(‚if1‘).location.href

Gruß
Markus

Hallo Daniel,

wenn der Inhalt dieses IFRAME-Elements nicht von derselben Domain stammt wie jener der den IFRAME einbindenden Seite, hast du da aufgrund der Same-Origin-Policy der Browser keine Chance. Das ist so aus Sicherheitsgründen.

Gruß Gernot

Hallo Daniel,
so richtig weiterhelfen kann ich da auch nicht, sieht richtig aus, bis auf:
Der iframe wir nicht geschlossen:
Falsch :
Richtig:

Gruß
Jörg

Wenn es nur um die SRC-Adresse geht:

 function init() {
 alert("SRC: "+document.getElementById("if1").src);
 }

Aber man in dem iFrame eine neue Seite aufruft lässt sich die SRC-Eigenschaft nicht als Adresse verwenden, da die SRC-Eigenschaft im HTML-Dokument gesetzt wurde. Es geht nur mithilfe von >>parent.frames[„if1name“].location.href

Hallo,

es heißt getElementById (mit kleinem g vorne).

Gruß,

Amica

Hallo,

es heißt getElementById (mit kleinem g vorne).

Gruß,

Amica
.