如果你在使用jQuery開發(fā)網(wǎng)頁時(shí),遇到了iframe跨域的問題,并需要設(shè)置iframe高度,可以參考下面的代碼:
//用戶定義的iframe ID var iframeId = "#iframe"; //定義一個(gè)函數(shù),用于自動(dòng)設(shè)置iframe的高度和寬度 function setIframeHeight(){ var iframe = $(iframeId)[0]; if (iframe){ //設(shè)置iframe的高度為內(nèi)容的高度 iframe.height = iframe.contentWindow.document.body.scrollHeight; //設(shè)置iframe的寬度為其父元素的寬度 iframe.width = $(iframeId).parent().width(); } } // 監(jiān)聽iframe內(nèi)部頁面的load事件,每次載入后自動(dòng)設(shè)置高度和寬度 $(iframeId).on('load', function() { setTimeout(setIframeHeight, 0); }); //初始化時(shí)就進(jìn)行一次設(shè)置 setIframeHeight();
以上代碼中,我們首先定義了一個(gè)變量iframeId,用于存儲(chǔ)需要設(shè)置高度的iframe的ID,然后定義了一個(gè)函數(shù)setIframeHeight,用于設(shè)置iframe的高度和寬度。在setIframeHeight函數(shù)中,我們首先獲取了對(duì)應(yīng)的iframe元素,接著通過獲取iframe內(nèi)部文檔的高度來設(shè)置iframe的高度,并設(shè)置iframe的寬度為其父元素的寬度。
然后,我們使用jQuery的on函數(shù)來監(jiān)聽iframe內(nèi)部頁面的load事件,每次載入后自動(dòng)調(diào)用setIframeHeight函數(shù)設(shè)置高度和寬度。最后,我們?cè)诔跏蓟瘯r(shí)也進(jìn)行了一次設(shè)置。