iframe的父子窗口之間的對象相互調用基本用法
更新時間:2013年09月03日 15:27:37 作者:
iframe在使用時可能會涉及到父子窗口之間傳值和方法的相互調用,研究了一下其實非常簡單,就那么幾個用法而已,在此與大家分享下,感興趣的朋友可以參考下
使用iframe的時候,可能會涉及到父子窗口之間傳值和方法的相互調用,之前一直有些迷糊,也沒有著意去弄清楚,這兩天要干活,沒法子了只好把這都弄明白了。其實非常簡單,就那么幾個用法,幾句代碼而已。
子窗口中調用父窗口的js方法:
parent.changeBtnTitle('tzgg');
一個父窗口中可能會有若干個功能行為類似的子窗口,子窗口中的組件要調用相同或者類似的對象或者方法,那么就把這樣的方法寫在父窗口中,通過傳遞參數(shù)來達到不同的效果。
父窗口獲得子窗口中的某個對象:
首先要獲得子窗口的iframe對象,比如:
var frameName = window.frames["frameId"]
然后要獲得該子窗口的document值,然后就可以調用子窗口中的對象了。在父窗口中使用時為避免反復書寫,不妨寫成一個方法:
getSubWindowObj = function(moduleName){
return window.frames["iframe"+moduleName].document.getElementById("moreorless"+moduleName);
}
這里只用了一個參數(shù),只因為我的iframeId和子窗口的對象Id名字起的有規(guī)律,只需傳入一個參數(shù)拼接之后就可以餓了。
同樣,子頁面調用父頁面的元素,可以使用如下代碼:
parent.window.document.getElementById('parentMenu');
//簡寫
parent.document.getElementById('parentMenu');
子窗口中調用父窗口的js方法:
復制代碼 代碼如下:
parent.changeBtnTitle('tzgg');
一個父窗口中可能會有若干個功能行為類似的子窗口,子窗口中的組件要調用相同或者類似的對象或者方法,那么就把這樣的方法寫在父窗口中,通過傳遞參數(shù)來達到不同的效果。
父窗口獲得子窗口中的某個對象:
首先要獲得子窗口的iframe對象,比如:
復制代碼 代碼如下:
var frameName = window.frames["frameId"]
然后要獲得該子窗口的document值,然后就可以調用子窗口中的對象了。在父窗口中使用時為避免反復書寫,不妨寫成一個方法:
復制代碼 代碼如下:
getSubWindowObj = function(moduleName){
return window.frames["iframe"+moduleName].document.getElementById("moreorless"+moduleName);
}
這里只用了一個參數(shù),只因為我的iframeId和子窗口的對象Id名字起的有規(guī)律,只需傳入一個參數(shù)拼接之后就可以餓了。
同樣,子頁面調用父頁面的元素,可以使用如下代碼:
復制代碼 代碼如下:
parent.window.document.getElementById('parentMenu');
//簡寫
parent.document.getElementById('parentMenu');
相關文章
JavaScript中訪問節(jié)點對象的方法有哪些如何使用
js訪問節(jié)點對象的方法有很多,比如getElementById在本文將舉例為大家介紹下2013-09-09js模仿php中strtotime()與date()函數(shù)實現(xiàn)方法
這篇文章主要介紹了js模仿php中strtotime()與date()函數(shù)實現(xiàn)方法,涉及javascript時間操作的相關技巧,非常具有實用價值,需要的朋友可以參考下2015-08-08HTML+JavaScript實現(xiàn)筋斗云導航欄效果
這篇文章主要為大家介紹了如何利用HTML+JavaScript+CSS實現(xiàn)筋斗云導航欄效果,當鼠標經(jīng)過某個li,筋斗云跟著到當前的位置,感興趣的小伙伴可以試一試2022-03-03javascritp添加url參數(shù)將參數(shù)加入到url中
javascritp添加url參數(shù)方法,將參數(shù)加入到url中,如果原來url中有則覆蓋,下面是示例代碼,感興趣的朋友可以參考下2014-09-09