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)閉時(shí),再如此使用會(huì)報(bào)一個(gè)錯(cuò):"被調(diào)用的對(duì)象已與其客戶端斷開連接。"
示例2:子頁面是父頁面的一個(gè)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; //將值填入子頁面的一個(gè)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):刷新父頁面時(shí),其中的iframe也會(huì)隨之刷新;刷新iframe時(shí),父頁面不會(huì)刷新。
希望本文所述對(duì)大家的JavaScript程序設(shè)計(jì)有所幫助。
- NodeJS、NPM安裝配置步驟(windows版本) 以及環(huán)境變量詳解
- 超全面的javascript中變量命名規(guī)則
- Javascript同時(shí)聲明一連串(多個(gè))變量的方法
- JS中跨頁面調(diào)用變量和函數(shù)的方法(例如a.js 和 b.js中互相調(diào)用)
- 淺談js中子頁面父頁面方法 變量相互調(diào)用
- js 聲明數(shù)組和向數(shù)組中添加對(duì)象變量的簡單實(shí)例
- JS判斷字符串變量是否含有某個(gè)字串的實(shí)現(xiàn)方法
- JavaScript判斷變量是否為數(shù)組的方法(Array)
- JavaScript中判斷函數(shù)、變量是否存在
- 詳解JavaScript的變量
相關(guān)文章
JavaScript實(shí)現(xiàn)簡單的星星評(píng)分效果
這篇文章主要為大家詳細(xì)介紹了JavaScript實(shí)現(xiàn)簡單的星星評(píng)分效果,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下2017-05-05JavaScript相等運(yùn)算符的九條規(guī)則示例詳解
這篇文章主要給大家介紹了關(guān)于JavaScript相等運(yùn)算符的九條規(guī)則,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者使用JavaScript具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧2019-10-1030個(gè)高逼格代碼的JavaScript高級(jí)單行代碼
這篇文章中列出了一個(gè)系列的 30 個(gè) JavaScript 單行代碼,它們?cè)谑褂?nbsp;vanilla js(≥ ES6)進(jìn)行開發(fā)時(shí)非常有用,它們也是使用該語言在最新版本中為我們提供的所有功能來解決問題的優(yōu)雅方式,將它們分為以下5大類:日期、字符串、數(shù)字、數(shù)組、工具2023-08-08js 用于檢測(cè)類數(shù)組對(duì)象的函數(shù)方法
下面小編就為大家?guī)硪黄猨s 用于檢測(cè)類數(shù)組對(duì)象的函數(shù)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-05-05Highcharts 多個(gè)Y軸動(dòng)態(tài)刷新數(shù)據(jù)的實(shí)現(xiàn)代碼
下面小編就為大家?guī)硪黄狧ighcharts 多個(gè)Y軸動(dòng)態(tài)刷新數(shù)據(jù)的實(shí)現(xiàn)代碼。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2016-05-05uni-app小程序中父組件和子組件傳值的實(shí)現(xiàn)實(shí)例
uniapp父子組件引用傳值,和vue的一樣,沒有小程序那樣的麻煩,下面這篇文章主要給大家介紹了關(guān)于uni-app小程序中父組件和子組件傳值的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下2022-08-08