In einem Szenario, in dem Sie eine Webseite mit einem iFrame haben, der einen Textbereich enthält, können beim Zugriff auf den Wert des Textbereichs mithilfe von Standard-JavaScript-Techniken Schwierigkeiten auftreten . Normalerweise würden Sie window.parent.getElementById().value verwenden, um Werte innerhalb der übergeordneten Seite abzurufen. Dieser Ansatz schlägt jedoch bei iFrames aufgrund ihrer isolierten Natur fehl.
Um diese Einschränkung zu beheben, ist eine dynamische Lösung erforderlich, da sich iFrame-IDs und -Namen während der Laufzeit ändern können. Der Schlüssel liegt im Zugriff auf den iFrame-Inhalt, ohne sich auf seine ID oder seinen Namen verlassen zu müssen. Der folgende JavaScript-Code bietet eine umfassende Lösung:
function iframeRef( frameRef ) { return frameRef.contentWindow ? frameRef.contentWindow.document : frameRef.contentDocument } var inside = iframeRef( document.getElementById('one') )
Dieser Code verwendet die iFrame-Referenz und identifiziert dynamisch, ob der iFrame ein contentWindow oder ein contentDocument verwendet. Anschließend weist es die Referenz der Inside-Variablen zu.
Mit der Inside-Variablen können Sie nun auf die Elemente innerhalb des iFrames und in diesem speziellen Fall auf den Textbereich zugreifen:
inside.getElementsByTagName('textarea')
Dies Die umfassende Lösung bietet zuverlässigen Zugriff auf Elemente innerhalb von iFrames, unabhängig von ihren sich zur Laufzeit ändernden IDs oder Namen.
Das obige ist der detaillierte Inhalt vonWie greife ich mit JavaScript auf Elemente in einem iFrame zu?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!