JavaScript子窗口調(diào)用父窗口變量和函數(shù)的方法
本文實(shí)例講述了JavaScript子窗口調(diào)用父窗口變量和函數(shù)的方法。分享給大家供大家參考。具體如下:
示例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()">調(diào)用父頁面的方法</button>
<button onclick="modify()">更改父頁面中變量的值</button>
</body>
</html>
只要在變量和函數(shù)前面加opener就可以訪問指定資源了。
但是當(dāng)父窗口被關(guān)閉時,再如此使用會報一個錯:"被調(diào)用的對象已與其客戶端斷開連接。"
示例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內(nèi)的變量值
var str=document.getElementById('txt1').value; //獲得文本框內(nèi)輸入的值
frame1.window.div1.innerHTML=str; //將值填入子頁面的一個div中
}
</script>
</head>
<body>
<div style="background-color:yellow;width:300px;height:300px;">
父頁面
<iframe id="frame1" src="child.html" frameborder="0" scrolling="no" width="120px" height="120px"></iframe>
<br/><br/><br/><br/>
<input id="txt1" type="text"/>
<button onclick="fill()">將文本框內(nèi)值填充入子界面</button>
</div>
</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 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>
小發(fā)現(xiàn):刷新父頁面時,其中的iframe也會隨之刷新;刷新iframe時,父頁面不會刷新。
希望本文所述對大家的JavaScript程序設(shè)計(jì)有所幫助。
- NodeJS、NPM安裝配置步驟(windows版本) 以及環(huán)境變量詳解
- 超全面的javascript中變量命名規(guī)則
- Javascript同時聲明一連串(多個)變量的方法
- JS中跨頁面調(diào)用變量和函數(shù)的方法(例如a.js 和 b.js中互相調(diào)用)
- 淺談js中子頁面父頁面方法 變量相互調(diào)用
- js 聲明數(shù)組和向數(shù)組中添加對象變量的簡單實(shí)例
- JS判斷字符串變量是否含有某個字串的實(shí)現(xiàn)方法
- JavaScript判斷變量是否為數(shù)組的方法(Array)
- JavaScript中判斷函數(shù)、變量是否存在
- 詳解JavaScript的變量
相關(guān)文章
JavaScript實(shí)現(xiàn)簡單的星星評分效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡單的星星評分效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價值,感興趣的小伙伴們可以參考一下2017-05-05
JavaScript相等運(yùn)算符的九條規(guī)則示例詳解
這篇文章主要給大家介紹了關(guān)于JavaScript相等運(yùn)算符的九條規(guī)則,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-10
Highcharts 多個Y軸動態(tài)刷新數(shù)據(jù)的實(shí)現(xiàn)代碼
下面小編就為大家?guī)硪黄狧ighcharts 多個Y軸動態(tài)刷新數(shù)據(jù)的實(shí)現(xiàn)代碼。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2016-05-05
uni-app小程序中父組件和子組件傳值的實(shí)現(xiàn)實(shí)例
uniapp父子組件引用傳值,和vue的一樣,沒有小程序那樣的麻煩,下面這篇文章主要給大家介紹了關(guān)于uni-app小程序中父組件和子組件傳值的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08

