第一種情況:iframe中不存在name和id的方法:(通過contentWindow獲取)
var iframe = document.getElementsByTagName('iframe')[0];
var ifr_document = iframe.contentWindow.document;//iframe中的文檔內容
var ifr_document = iframe.contentWindow.document;//iframe中的文檔內容
或者:
var _iframe = document.getElementByIdx_x('iframeId').contentWindow;
var _div =_iframe.document.getElementByIdx_x('objId');
或者:
- var frameWin=document.getElementById('iframe').contentWindow; //window對象
- var frameDoc=document.getElementById('iframeId').contentWindow.document //document對象
- var frameBody=document.getElementById('iframeId').contentWindow.document.body //body對
第二種情況:iframe中存在name或者id的方法:(通過frames[]數組獲取)
document.frames['iframe的name'].document.getElementById('元素的ID');
第三種情況:在iframe中獲取父級頁面的id元素 :
var
obj=window.parent.document.getElementById('objId') ;
$(window.parent.document).find("#objId").css('height':'height); // window可省略不寫 jquery
第四種情況:父級窗體訪問iframe中的屬性
- a、 用contentWindow方法
- document.getElementById('iframe1').onload=function(){
- this.contentWindow.run();
- }
- b、用iframes[]框架集數組方法
- document.getElementById('iframe1').onload=function(){
- frames["iframe1"].run();
- }
第五種情況:在iframe中訪問父級窗體的方法和屬性 //window 可以不寫
- window.parent.attributeName; // 訪問屬性attributeName是在父級窗口的屬性名
- window.parent.Func(); // 訪問屬性Func()是在父級窗口的方法
第五種情況:讓iframe自適應高度
- $('#iframeId').load(function() { //方法1
- var iframeHeight = Math.min(iframe.contentWindow.window.document.documentElement.scrollHeight, iframe.contentWindow.window.document.body.scrollHeight);
- var h=$(this).contents().height();
- $(this).height(h+'px');
- });
- $('#iframeId').load(function() { //方法2
- var iframeHeight=$(this).contents().height();
- $(this).height(iframeHeight+'px');
- });