本文实例讲述了JavaScript子窗口调用父窗口变量和函数的方法。分享给大家供大家参考。具体如下:
示例1:子窗口是新打开的窗口
父窗口:
<!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"> <head> <title>parent</title> <script type="text/javascript"> var parentPara='parent'; function parentFunction() { alert(parentPara); } </script> </head> <body> <button onclick="parentFunction()">显示变量值</button> <button onclick="window.open('child.html')">打开新窗口</button> </body> </html>
子窗口:
<!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"> <head> <title>child</title> <script type="text/javascript"> function modify() { opener.parentPara='child'; } </script> </head> <body> <button onclick="opener.parentFunction()">调用父页面的方法</button> <button onclick="modify()">更改父页面中变量的值</button> </body> </html>
只要在变量和函数前面加opener就可以访问指定资源了。
但是当父窗口被关闭时,再如此使用会报一个错:"被调用的对象已与其客户端断开连接。"
示例2:子页面是父页面的一个iframe
父页面:
<!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"> <head> <title>parent</title> <script type="text/javascript"> function fill() { //alert(frame1.window.childPara); //显示frame1内的变量值 var str=document.getElementById('txt1').value; //获得文本框内输入的值 frame1.window.div1.innerHTML=str; //将值填入子页面的一个div中 } </script> </head> <body> <div style="background-color:yellow;width:300px;height:300px;"> 父页面 <iframe id="frame1" src="/UploadFiles/2021-04-02/child.html">子页面:
<!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"> <head> <title>child</title> <script type="text/javascript"> function fun() { parent.fill(); } </script> </head> <body> <div style="background-color:lightblue;width:100px;height:100px;"> <b>子页面</b><br/> <a href="#" onclick="fun()">同父页面按钮</a> <div id="div1" style="color:red;"> </div> </div> </body> </html>小发现:刷新父页面时,其中的iframe也会随之刷新;刷新iframe时,父页面不会刷新。
希望本文所述对大家的JavaScript程序设计有所帮助。
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
狼山资源网 Copyright www.pvsay.com
暂无“JavaScript子窗口调用父窗口变量和函数的方法”评论...
P70系列延期,华为新旗舰将在下月发布
3月20日消息,近期博主@数码闲聊站 透露,原定三月份发布的华为新旗舰P70系列延期发布,预计4月份上市。
而博主@定焦数码 爆料,华为的P70系列在定位上已经超过了Mate60,成为了重要的旗舰系列之一。它肩负着重返影像领域顶尖的使命。那么这次P70会带来哪些令人惊艳的创新呢?
根据目前爆料的消息来看,华为P70系列将推出三个版本,其中P70和P70 Pro采用了三角形的摄像头模组设计,而P70 Art则采用了与上一代P60 Art相似的不规则形状设计。这样的外观是否好看见仁见智,但辨识度绝对拉满。