Heim >Web-Frontend >Front-End-Fragen und Antworten >Welche Methoden gibt es zum Aufrufen des übergeordneten Fensters in Javascript?
So rufen Sie das übergeordnete Fenster mit JavaScript auf: 1. Verwenden Sie die Anweisung „window.parent“, um das übergeordnete Seitenobjekt in der Iframe-Seite aufzurufen. 2. Verwenden Sie die Anweisung „window.opener“, um die untergeordnete Seite aufzurufen, die von „geöffnet“ wird. window.open" Rufen Sie das übergeordnete Seitenobjekt auf.
Die Betriebsumgebung dieses Tutorials: Windows 7-System, JavaScript-Version 1.8.5, Dell G3-Computer.
Welche Methoden gibt es für JavaScript, um das übergeordnete Fenster (übergeordnete Seite) aufzurufen?
1. window.parent ist die Iframe-Seite, die das übergeordnete Seitenobjekt aufruft Wenn wir in b.htm müssen, müssen Sie dem Benutzernamen-Textfeld in a.htm einen Wert zuweisen, genau wie bei vielen Upload-Funktionen. Nachdem der Upload erfolgreich war, geben Sie den hochgeladenen Pfad ein in das Textfeld der übergeordneten Seite
Wir sollten in b sein. Schreiben Sie<html> <head><title>父页面</title></head> <body> <form name="form1" id="form1"> <input type="text" name="username" id="username"/> </form> <iframe src="b.html" width=100%></iframe> </body> </html>
in den .html-Quellcode:
a.html
<script type="text/javascript"> var _parentWin = window.parent ; _parentWin.form1.username.value = "xxxx" ; </script>
b.html<html>
<head>
<title>主页面</title>
<script>
/** 为测试IFrame子窗口调用父窗口的全局变量而添加的测试变量 */
var parentVairous = "为测试IFrame子窗口调用父窗口的全局变量而添加的测试变量";
function parentInvokeIFrame()
{
var iframeTest = document.frames["iframeTest"]; //使用document.getElementById("iframeTest");同样可以
alert(iframeTest.document.body.innerHTML);
alert(iframeTest.iFrameVair);
}
</script>
</head>
<body>
<form name="form1" id="form1">
<input type="text" name="username" id="username"/>
<input type = "button" value = "父窗口调用IFrame子窗口中的内容" onclick = 'parentInvokeIFrame()'/>
</form>
<iframe src="b.html" width = '100%' id = 'iframeTest'></iframe>
</body>
</html>
Source aufruft Code:
a.html
<html> <head> <title></title> <script type="text/javascript"> /** 为测试父窗体调用IFrame子窗体的全局函数而添加的子窗口全局函数 */ var iFrameVair = "测试父窗体调用IFrame子窗体的全局函数"; function UpdateParent() { var _parentWin = window.parent ; _parentWin.form1.username.value = "xxxx" ; } function childInvokeParent() { var parentVairous = window.parent.window.parentVairous; alert(parentVairous); } </script> </head> <body> <form name="form1" id="form1"> <p> </p> <p align="center"> <input type = "button" name = "button" id = "button" value = "更新主页面的UserName内容" onclick = "UpdateParent()"> <input type = "button" name = "button2" id = "button2" value = "测试IFrame子窗口调用父窗口的全局变量" onclick = "childInvokeParent();"/> </p> <p> </p> </form> </body> </html>b.html
<html> <head> <title>主页面</title> <script type="text/javascript"> /** 为测试IFrame子窗口调用父窗口的全局变量而添加的测试变量 */ var parentVairous = "为测试IFrame子窗口调用父窗口的全局变量而添加的测试变量"; /** * 因为不同于IFrame(IFrame有id,window.open()与IFrame的父子窗口的模式不同), * 所以当是通过window.open()方法打开一个新窗口使, 必须有一个新窗口的对象 * 当然必须先让子窗口弹出来, 才能调用子窗口中的变量, 否则抛出异常 */ var OpenWindow; function openSubWin() { OpenWindow = window.open('b.html', 'newwindow', 'height=1024, width=1300, top=0, left=0, toolbar=no, menubar=yes, scrollbars=yes,resizable=yes,location=no, status=no'); } function parentInvokeChild() { if(OpenWindow)//当然必须先让子窗口弹出来, 才能调用子窗口中的变量, 否则抛出异常 { alert(OpenWindow.iFrameVair); } } </script> </head> <body> <form name="form1" id="form1"> <input type="text" name="username" id="username"/> <input type="button" value="弹出子页面" onclick = "openSubWin()"> <input type="button" value="测试调用弹出窗口中的全局变量" onclick = "parentInvokeChild()"> </form> </body> </html>
Das obige ist der detaillierte Inhalt vonWelche Methoden gibt es zum Aufrufen des übergeordneten Fensters in Javascript?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!