精品国产免费观看久久久_久久天天躁狠狠躁夜夜爽_无码人妻少妇久久中文字幕_狠狠做深爱婷婷久久综合一区

設(shè)計(jì)觀點(diǎn)

精準(zhǔn)傳達(dá) ? 價(jià)值共享

洞悉互聯(lián)網(wǎng)前沿資訊,探尋網(wǎng)站營(yíng)銷(xiāo)規(guī)律

iframe高度自適應(yīng)的6個(gè)方法

作者:Smileby陌少羽 | 2017-10-28 08:34 |點(diǎn)擊:


JS自適應(yīng)高度,其實(shí)就是設(shè)置iframe的高度,使其等于內(nèi)嵌網(wǎng)頁(yè)的高度,從而看不出來(lái)滾動(dòng)條和嵌套痕跡。對(duì)于用戶體驗(yàn)和網(wǎng)站美觀起著重要作用。

如果內(nèi)容是固定的,那么我們可以通過(guò)CSS來(lái)給它直接定義一個(gè)高度,同樣可以實(shí)現(xiàn)上面的需求。當(dāng)內(nèi)容是未知或者是變化的時(shí)候。這個(gè)時(shí)候又有幾種情況了。

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

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




方法一
// 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'));
};

 

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

只要修改以上的iframe的ID即可了。或者你可以直接在iframe里面寫(xiě)代碼,我們一般為了不污染HTML代碼,建議使用上面的代碼。


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



 

多個(gè)iframe的情況下



<script language="javascript">
//輸入你希望根據(jù)頁(yè)面高度自動(dòng)調(diào)整高度的iframe的名稱(chēng)的列表
//用逗號(hào)把每個(gè)iframe的ID分隔. 例如: ["myframe1", "myframe2"],可以只有一個(gè)窗體,則不用逗號(hào)。
//定義iframe的ID
var iframeids=["test"];
//如果用戶的瀏覽器不支持iframe是否將iframe隱藏 yes 表示隱藏,no表示不隱藏
var iframehide="yes";
function dyniframesize()
{
var dyniframe=new Array()
for (i=0; i<iframeids.length; i++)
{
if (document.getElementById)
{
//自動(dòng)調(diào)整iframe高度
dyniframe[dyniframe.length] = document.getElementById(iframeids[i]);
if (dyniframe[i] && !window.opera)
{
dyniframe[i].style.display="block";
if (dyniframe[i].contentDocument && dyniframe[i].contentDocument.body.offsetHeight) //如果用戶的瀏覽器是NetScape
dyniframe[i].height = dyniframe[i].contentDocument.body.offsetHeight;
else if (dyniframe[i].Document && dyniframe[i].Document.body.scrollHeight) //如果用戶的瀏覽器是IE
dyniframe[i].height = dyniframe[i].Document.body.scrollHeight;
}
}
//根據(jù)設(shè)定的參數(shù)來(lái)處理不支持iframe的瀏覽器的顯示問(wèn)題
if ((document.all || document.getElementById) && iframehide=="no")
{
var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i]);
tempobj.style.display="block";
}
}
}
if (window.addEventListener)
window.addEventListener("load", dyniframesize, false);
else if (window.attachEvent)
window.attachEvent("onload", dyniframesize);
else
window.onload=dyniframesize;
</script>

針對(duì)知道的iframe的ID調(diào)用



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

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




<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自適應(yīng)高度

跨域的時(shí)候,由于js的同源策略,父頁(yè)面內(nèi)的js不能獲取到iframe頁(yè)面的高度。需要一個(gè)頁(yè)面來(lái)做代理。
方法如下:假設(shè)www.a.com下的一個(gè)頁(yè)面a.html要包含www.b.com下的一個(gè)頁(yè)面c.html。
我們使用www.a.com下的另一個(gè)頁(yè)面agent.html來(lái)做代理,通過(guò)它獲取iframe頁(yè)面的高度,并設(shè)定iframe元素的高度。

a.html中包含iframe:


<iframe src="http://www.b.com/c.html" id="Iframe" frameborder="0" scrolling="no" style="border:0px;"></iframe>

在c.html中加入如下代碼:


<iframe id="c_iframe"  height="0" width="0"  src="http://www.a.com/agent.html" style="display:none" ></iframe>
<script type="text/javascript">
(function autoHeight(){
var b_width = Math.max(document.body.scrollWidth,document.body.clientWidth);
var b_height = Math.max(document.body.scrollHeight,document.body.clientHeight);
var c_iframe = document.getElementById("c_iframe");
c_iframe.src = c_iframe.src + "#" + b_width + "|" + b_height;  // 這里通過(guò)hash傳遞b.htm的寬高
})();
</script>

最后,agent.html中放入一段js:


<script type="text/javascript">
var b_iframe = window.parent.parent.document.getElementById("Iframe");
var hash_url = window.location.hash;
if(hash_url.indexOf("#")>=0){
var hash_width = hash_url.split("#")[1].split("|")[0]+"px";
var hash_height = hash_url.split("#")[1].split("|")[1]+"px";
b_iframe.style.width = hash_width;
b_iframe.style.height = hash_height;
}
</script>

agent.html從URL中獲得寬度值和高度值,并設(shè)置iframe的高度和寬度(因?yàn)閍gent.html在www.a.com下,所以操作a.html時(shí)不受JavaScript的同源限制)

 

如沒(méi)特殊注明,文章均為狐靈科技原創(chuàng),轉(zhuǎn)載請(qǐng)注明?? "iframe高度自適應(yīng)的6個(gè)方法
多一份免費(fèi)策劃方案,總有益處。

請(qǐng)直接添加技術(shù)總監(jiān)微信聯(lián)系咨詢(xún)

網(wǎng)站設(shè)計(jì) 品牌營(yíng)銷(xiāo)

多一份參考,總有益處

聯(lián)系狐靈科技,免費(fèi)獲得專(zhuān)屬《策劃方案》及報(bào)價(jià)

咨詢(xún)相關(guān)問(wèn)題或預(yù)約面談,可以通過(guò)以下方式與我們聯(lián)系

業(yè)務(wù)熱線:15082661954 / 大客戶專(zhuān)線:15523356218

国产AV无码专区亚洲精品| 国产精品IGAO视频网| 一起碰一起噜一起| 亚洲精品无码AV中文字幕| 亚洲A级成人无码网站| 午夜精品一区二区三区在线观看| 天天拍天天看天天做| 四虎必出精品884| 天堂SV在线最新版在线| 婷婷成人亚洲综合五月天| 挺进邻居漂亮的娇妻| 无码精品人妻一区二区三区免费看| 婷婷五月综合色中文字幕| 无码国产69精品久久久久孕妇| 偷拍精品视频一区二区三区 | 无码色偷偷亚洲国内自拍| 挽起裙子跨开双腿坐下去软件| 凸凹人妻人人澡人人添医| 无套内射GIF舔B吃奶| 亚洲AV伊人久久青青草原| 亚洲第一狼人伊人AV| 亚洲夂夂婷婷色拍WW47| 在线观看亚洲AV每日更新| 80S电影天堂在线| JAPANESE丰满人妻HD| 边做饭边被躁BD苍井空小说| 顶级大但人文艺术视频 音乐| 国产成人A视频高清在线观看| 国产精品久久久久国产A级| 国产在线精品无码AV不卡顿| 精品亚洲国产成人小电影| 久久综合婷婷成人网站| 女主播屁G裸露W身曝光| 宝宝两根就哭男男是不是太早了 | 成人欧美一区二区三区白人| 欧美成人AⅤ高清免费观看| 国产乱妇乱子在线视频 | 好硬好湿好爽再深一点动态图片| 狠狠做深爱婷婷久久综合一区| 久久精品动漫一区二区三区| 国产超碰人人爽人人做人人添| 精品无码中文视频在线观看| 欧洲做爰XXXⅩ富婆视频| 男男H黄漫画啪啪无遮挡| 欧美精品一区二区蜜臀亚洲| 日本三线和韩国三线的市场定位| 少妇AV一区二区三区无码| 特大荫唇XX另类| 亚洲AV乱码一区二区三区林ゆな| 亚洲欧洲国无码成人片| 中国西西大胆女人裸体艺术 | 波多野结衣一区二区三区高清 | 麻豆国产96在线日韩麻豆| 欧洲精品VA无码一区二区三区| 日日躁狠狠躁死你H| 无码中文精品视视在线观看| 天堂资源中文最新版在线一区| 性色AV一区二区三区无码| 亚洲色欲综合天堂亚洲 | 无码人妻精品一区二区蜜桃视频| 亚洲爆乳无码一区二区三区| 英语老师的小兔子好大好软水| 啊灬啊灬啊灬快灬深高潮了亚洲乱色视频在线观看 | 97精品人妻一区二区三区香蕉| 菠萝菠萝蜜在线观看| 国产精品青青青高清在线| 久久精品国产清高在天天线| 欧美成人精品a∨在线观看| 少妇伦子伦精品无吗| 亚洲国产AV高清无码| 97精品国产97久久久久久免费| 国产GAYSEXCHINA男同| 激情综合丁香五月| 欧美日产国产精品| 小诗的公交车日记1一15文| 尹人香蕉久久99天天拍| 成A人片亚洲日本久久| 国产精品久久久久久久久久直播 | 丰满少妇人妻HD高清大乳| 亚洲VA中文慕无码久久AV| 农民人伦一区二区三区| 国产美女在线精品免费观看| 超高级国王游戏电影| 熟女熟妇伦AV网站| 亚洲欧美另类在线视频| OLDMACDONALD老人大包| 国产自国产自愉自愉免费24区| 女厕脱裤撒尿大全视频| 无码人妻精品一区二区三区东京热 | 小妖精好爽H快穿共妻| 7777奇米四色眼影| 国产乱子影视频上线免费观看| 老师上课没戴奶罩看到奶头| 天天摸天天碰天天添| 在线天堂中文最新版| 国产精品久久久久精品| 免费专区SM美脚践踏调教视频| 无码专区—VA亚洲V天堂| 27报女上男下动态图GIF图| 国产毛片久久久久久国产毛片| 男友把舌头都伸进我的嘴巴里了| 亚洲AV成人无码精品网站按| WWW久久久天天COM| 久久99国产精一区二区三区| 日产精品高潮呻吟AV久久| 亚洲一区二区三区无码中文字幕 | 手机免费AV片在线播放| 在厨房我撕开岳的丁字裤| 国产激情一区二区三区| 女儿的朋友6中汉字| 亚洲AV无码一区二区少妇 | 巨大垂乳日本熟妇挤奶| 无码激情亚洲一区| 99久久亚洲综合精品成人网| 极品美女扒开粉嫩小泬的视频| 欧亚成年男女深夜百度网盘| 天空影院手机免费观看在线 | FREE性满足孕妇VⅠDE0S| 精品久久久BBBB人妻| A级国产乱理伦片在线播放| 曰本女人牲交全视频播放毛片| 在线看片无码永久免费AV| 野花免费观看日本电影哔哩哔哩| 国产XXXX做受视频国语对白L| 母亲とが话しています播放| 亚洲AV无码成人精品区在线观看 | 好喜欢你呐[校园] 里恩ER| 日韩欧无码一二三区免费不卡| 在线播放亚洲第一字幕| 国精产品一二三四线免费| 日韩av在线一区二区| 91人人妻人人澡人人爽人人精品 | 国产午夜精品一区二区| 日韩精品一区二区三区在线观看| 中文字幕久久波多野结衣AV不卡| 好了AV第四综合无码久久| 双腿扒开调教羞辱惩罚视频| AV无码久久久久不卡网站下载| 久久久久亚洲AV无码麻豆| 亚洲成a人片在线观看无码专区| 国产成 人 黄 色 网 站 小说 | 国精产品W灬源码1688伊| 日本熟妇人妻ⅩXXXX| 在线播放亚洲第一字幕| 亚洲AV成人一区二区三区不卡| 波多野结衣一区二区三区AV高清| 老头边吃奶边弄进去呻吟| 亚洲精品无码专区久久久| 国产美女裸体无遮挡免费视频高潮| 日本三级吃奶头添泬| AV无码人妻一区二区三区牛牛 | 锕锕锕锕锕锕好大好深APP| 乱老熟女成熟50ⅩXXX小| 亚洲内射夜夜嗨av| 国内少妇BBWBBW黑森林| 无码熟妇人妻AV在线一| 国产CHINESE中国HDXX| 日韩欧美AⅤ综合网站发布| でも私はあなたより賢いです意思 | H无码动漫在线观看网站| 女女互磨互喷水高潮LES呻吟| 影音先锋无码A∨男人资源站| 狠狠躁夜夜躁人人爽天天| 亚洲AV无码一区二区三区网站| 国产人妖视频一区二区| 无人区码一码二码三码是什么意思 | 久久久亚洲熟妇熟女| 亚洲熟妇无码另类久久久| 精品亚洲麻豆1区2区3区| 亚洲美女高潮久久久久| 精品国产一区二区三区2021| 亚洲国产美女精品久久久| 精品国产乱码久久久久久蜜桃 | 97久久超碰国产精品2021| 67194熟妇人妻欧美日韩| 久久无码人妻丰满熟妇区毛片| 亚洲欧洲日产国码无码APP| 好男人在在线社区WWW在线影院 | 亚洲丰满性熟妇PⅩXXOO| 国产亚洲精品无码专区| 亚洲AV日韩AV永久无码水密桃| 国语对白国产成人AⅤ片| 亚洲狠狠色丁香婷婷综合| 精品香蕉一区二区三区| 野花日本大全免费观看3中文版5 | 无码国产成人久久| 国产成人亚洲精品无码最新 | 大尺度一对一视频聊天软件| 中国美女撒尿TXXXX视频| MM1313亚洲国产精品无码试| 国内精品久久久久精免费| 苍井空浴缸大战猛男120分钟 | 97SE狠狠狠狠狼亚洲综合网| 国产欧美亚洲日韩图片| 色一情一乱一伦一区二区三区小说| 又色又爽又黄的视频软件APP| 精品一区二区三区在线播放视频 | 成人无码H动漫在线网站樱花| 亚洲一区二区三区丝袜| 99久久精品午夜一区二区|