Die Funktion des iframe-Elements besteht darin, ein Dokument in ein Dokument einzubetten und einen schwebenden Rahmen zu erstellen. Viele Menschen verstehen nicht ganz, wie iFrame gesteuert wird, und sie sind im Grunde immer noch in einem unklaren Zustand des Verständnisses. Zwei Hinweise zum Iframe: ifr ist der ID- und NAME-Wert eines vorhandenen Iframes: Hier ein Zitat: Wenn Sie nur src oder border, scrolling und andere Attribute des Iframes ändern möchten (was nicht dasselbe Konzept wie Eigenschaft ist, Eigenschaft kann nicht in das Tag geschrieben werden, wie z. B. scrollHeight, innerHTML usw.), müssen Sie dies tun Verwenden Sie die erste Methode. Wenn Sie die Seite des Iframes (nicht den Iframe selbst) abrufen möchten, müssen Sie die zweite Methode verwenden, da diese ein vollständiges DOM-Modell erhält. Wenn Sie beispielsweise den Inhalt des document.body abrufen möchten iframe können Sie nur die zweite Methode verwenden. Beachten Sie außerdem, dass ein schwerwiegender Fehler auftritt, wenn Sie das DOM-Modell des Iframes aufrufen, während die Iframe-Seite nicht vollständig geladen ist. Daher müssen Sie einen fehlertoleranten Modus vorbereiten. Im Folgenden finden Sie Beispiele, eines ist aa.htm und das andere ist bb.htm! aa.htm Code: Das Folgende ist ein zitierter Ausschnitt: bb.htm
document.getElementById(“ifr”);
window.frames[„ifr“];
Wenn Sie die Funktion im Iframe verwenden möchten, muss die Variable die zweite Methode durchlaufen, da sie ein vollständiges DOM-Modell benötigt (ich weiß nicht, ob dies korrekt ist). Die erste Methode nimmt nur ein OBJEKT heraus.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<Kopf>
<title>Unbenannte Seite</title>
<style type="text/css">
<!--
Körper{
Rand:0px;
}
->
</style>
</head>
<Körper>
<iframe id="ifr" name="ifr" width="100%" height="500" src="bb.htm"></iframe>
</body>
</html>
<script language="javascript" type="text/javascript">
var aa_value="Ich bin eine Variante im oberen Fenster!";
var ifr_id=document.getElementById("ifr");
var ifr_window=window.frames["ifr"];
alarm("Alarm vom oberen Fenster: Iframe-Variante kann nicht von ifr_id abgerufen werden, es wird zurückgegeben:" + ifr_id.bb_var);
alarm("Alarm vom oberen Fenster: Das DOM-Modell von iframe kann nicht von ifr_id abgerufen werden, es wird zurückgegeben:" + ifr_id.window);
Alert("Alert vom oberen Fenster: Quelle von ID abrufen:" + ifr_id.src);
Alert("Alarm vom oberen Fenster: Href vom Fenster abrufen:" + ifr_window.document.location.href);
//Da bb.htm möglicherweise noch nicht geladen ist, kann es beim Herunterladen zu einem Fehler kommen.
//Rufen Sie die Funktion ifr_window.bb() im Iframe auf;
//Variablen innerhalb des Iframes aufrufen
Alert("Alarm vom oberen Fenster: " + ifr_window.bb_var);
//
Alert("Alarm vom oberen Fenster:" + ifr_window.document.body.innerHTML);
Funktion aa(msg){
alarm("Ich alarmiere über das obere Fenster und habe eine Nachricht erhalten:n" + msg);
}
</script>
Code: Das Folgende ist ein zitierter Ausschnitt:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<Kopf>
<title>Unterrahmen</title>
<style type="text/css">
<!--
html,body{
Rand:0px;
Breite:90%;
}
->
</style>
</head>
<Körper>
Ich bin ein Subframe!
<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...<br />
...
</body>
</html>
<script language="javascript" type="text/javascript">
var bb_var="Ich bin eine Variable in ifr";
functionbb(){
Alert("Alert von Iframe: Ich bin Frame-IFR-Funktion")
}
//Variablen der übergeordneten Seite abrufen
Alert("Alert von iframe parent.ifr_id::" + parent.ifr_id);
Alert("Alert von iframe parent.aa_value: " + parent.aa_value);
//Ändern Sie die Höhe des Iframes über die ifr_id der übergeordneten Seite
warning("Alert von iframe: ifrs clientHeight:" +document.body.clientHeight);
parent.ifr_id.height=document.body.clientHeight;
alarm("Alert von iframe: ifrs scrollHeight: " + document.body.scrollHeight);
//Rufen Sie die Funktion des übergeordneten Formulars auf:
parent.aa("Ich werde eine Funktion aufrufen, die im oberen Fenster liegt");
//Ändern Sie den Titel des übergeordneten Formulars:
Alert("Alarm vom Iframe: Ich werde den Titel des oberen Fensters ändern");
top.document.title="Der Titelwert wurde geändert";
//Der Rahmen und das Scrollen wurden durch die ifr_id des übergeordneten Formulars geändert
Alert("Alert von iframe: Ich werde meinen Rahmen und das Scrollen ändern:");
top.ifr_id.border=0;
top.ifr_id.scrolling="nein";
</script>