記錄一下產品介面中iframe的通訊與操作問題:
一、iframe和父級之間(簡單)
iframe可以通過parent或top來找到父級頁面,父級頁面也可以很容易找到iframe。
二、iframe和iframe之間(複雜一些)
如果頁面中有兩個iframe:a和b,那麼在a頁面中可以通過parent.b來找到b,反之亦然。
但是,這樣會有乙個問題,如果parent.b名稱變了或者根本就沒有parent.b咋辦呢,難道去修改a要載入的n個頁面的js?所以上面的方法並不靠譜,雖然能很快的解決問題,但有很大的隱患。
產品中使用了比這要靠譜很多的方法:
在主頁面中,設定乙個變數c(當然c可以是普通的全域性變數,也可以是某個自定義物件的屬性);
a載入頁面時,執行 parent.c = window ,將主頁面的c指向a;
這樣b中,就可以通過parent.c來訪問a。
這樣最大的好處就是不用依賴於iframe的name了,得到很大的解放。
同理,多層iframe巢狀,任意iframe之間都可以用該方法訪問,相當強大舉例
abc.htm
asdfasdf
iframe子頁面與父頁面之間通訊
父頁面parent.html function say function callchild script head iframe body html 子頁面child.html function say function callparent script head body html 方法呼叫 ...
iframe重新整理,改變url,跳出父級登入頁
今天遇到了三個問題 在父頁面重新整理iframe document.getelementbyid frameid contentwindow.location.reload true 獲取你要重新整理的頁面的url,document.getelementbyid iframe src url 在if...
iframe父視窗和子視窗之間的呼叫
1 父視窗獲取子視窗 js方法 document.getelementbyid if1 contentwindow.document window.frames if1 document.body jquery方法 this contents 2 父視窗獲取子視窗高度 js方法 document.g...