使用iframe的時候,可能會涉及到父子窗口之間傳值和方法的相互調用,之前一直有些迷糊,也沒著意去弄清楚,這兩天要幹活,沒法子了只好把這都弄明白了。其實非常簡單,就那麼幾個用法,幾句程式碼而已。
子視窗中呼叫父視窗的js方法:
程式碼如下:
parent.changeBtnTitle('tzgg');
一個父窗口中可能會有若干個功能行為類似的子窗口,子窗口中的組件要調用相同或類似的對象或者方法,那麼就把這樣的方法寫在父視窗中,透過傳遞參數來達到不同的效果。
父視窗取得子視窗中的某個物件:
首先要取得子視窗的iframe對象,例如:
代碼如下:
var frameName = window.frames["frameId"]
然後要取得該子視窗的document值,然後就可以呼叫子視窗中的物件了。在父親視窗中使用時為避免重複書寫,不妨寫成一個方法:
程式碼如下:
程式碼如下:
程式碼如下:
用了一個參數,只因為我的iframeId和子視窗的物件Id名字起的有規律,只要傳入一個參數拼接之後就可以餓了。
同樣,子頁面呼叫父頁的元素,可以使用以下程式碼:
複製程式碼 程式碼如下: parent.window.document.getElementById('parentMenu'); //簡寫parent.document.getElementById('parentMenu'); parent.document.getElementById('parentMenu');