溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

HTML<iframe>標(biāo)簽自適應(yīng)高度的4種方法

發(fā)布時間:2020-09-26 14:36:46 來源:億速云 閱讀:1617 作者:小新 欄目:web開發(fā)

這篇文章主要介紹了HTML<iframe>標(biāo)簽自適應(yīng)高度的4種方法,具有一定借鑒價值,需要的朋友可以參考下。希望大家閱讀完這篇文章后大有收獲。下面讓小編帶著大家一起了解一下。

HTML <iframe> 標(biāo)簽是什么:

<iframe> 標(biāo)簽規(guī)定一個內(nèi)聯(lián)框架。

一個內(nèi)聯(lián)框架被用來在當(dāng)前 HTML 文檔中嵌入另一個文檔。

HTML <iframe> 標(biāo)簽怎么使用:

<iframe> 標(biāo)簽會創(chuàng)建包含另外一個文檔的內(nèi)聯(lián)框架,有效地將另一個 HTML 頁面嵌入到當(dāng)前頁中。請參考以下的實例:

標(biāo)記一個內(nèi)聯(lián)框架:

<iframe src="//www.w3cschool.cn"></iframe>

HTML<iframe>標(biāo)簽屬性:

HTML<iframe>標(biāo)簽自適應(yīng)高度的4種方法

HTML<iframe>標(biāo)簽基本使用:

使用場景:頁面大部分相同,少部分不一樣。比如系統(tǒng),每一個頁面的left_nav和top內(nèi)容一致,右下邊內(nèi)容在改變。

優(yōu)點:提高頁面代碼的重復(fù)使用率,讓我們偷懶。

缺點:頁面url地址沒有改變。

iframe高度自適應(yīng)的3個方法:

iframe內(nèi)容未知,高度可預(yù)測

這個時候,我們可以給它添加一個默認(rèn)的CSS的min-height值,然后同時使用JavaScript改變高度。常用的兼容代碼有:

1.(如果在同個頂級域名下,不同子域名之間互通信息,設(shè)置document.domain="caibaojian.com")

// document.domain = "caibaojian.com";
function setIframeHeight(iframe) {
if (iframe) {
var iframeWin = iframe.contentWindow || iframe.contentDocument.parentWindow;
if (iframeWin.document.body) {
iframe.height = iframeWin.document.documentElement.scrollHeight || iframeWin.document.body.scrollHeight;
}}
};
window.onload = function () {
setIframeHeight(document.getElementById('external-frame'));
};

2.針對知道的iframe的ID調(diào)用:

只要修改以上的iframe的ID即可了?;蛘吣憧梢灾苯釉趇frame里面寫代碼,我們一般為了不污染HTML代碼,建議使用上面的代碼。

<iframe src="backtop.html" frameborder="0" scrolling="no" id="external-frame" onload="setIframeHeight(this)"></iframe>

3.內(nèi)容寬度變化的iframe高度自適應(yīng):

function iframeAutoFit(iframeObj){
setTimeout(function(){if(!iframeObj) return;iframeObj.height=(iframeObj.Document?iframeObj.Document.body.scrollHeight:iframeObj.contentDocument.body.offsetHeight);},200)
}

4.打開調(diào)試運行窗口可以看到運行:

<iframe src="backtop.html" frameborder="0" scrolling="no" id="test" onload="this.height=100"></iframe>
<script type="text/javascript">
function reinitIframe(){
var iframe = document.getElementById("test");
try{
var bHeight = iframe.contentWindow.document.body.scrollHeight;
var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
var height = Math.max(bHeight, dHeight);
iframe.height = height;
console.log(height);
}catch (ex){}
}
window.setInterval("reinitIframe()", 200);
</script>

提示欄:

提示:您可以把需要的文本放置在 <iframe> 和 </iframe> 之間,這樣就可以應(yīng)對不支持 <iframe> 的瀏覽器。

提示:使用 CSS 為 <iframe> (包括滾動條)定義樣式。

提示:<iframe> 標(biāo)簽主要用于那些多個網(wǎng)頁的共有部分,如導(dǎo)航欄、廣告欄等。

HTML 4.01 與 HTML5之間的差異:

HTML5 新增了一些新的屬性,同時去掉了 HTML 4.01 中的一些屬性。

HTML 與 XHTML 之間的差異:

在 XHTML 中,name 屬性已被廢棄,并將被去掉。請使用 id 屬性代替。

感謝你能夠認(rèn)真閱讀完這篇文章,希望小編分享HTML<iframe>標(biāo)簽自適應(yīng)高度的4種方法內(nèi)容對大家有幫助,同時也希望大家多多支持億速云,關(guān)注億速云行業(yè)資訊頻道,遇到問題就找億速云,詳細(xì)的解決方法等著你來學(xué)習(xí)!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI