讓iframe自適應(yīng)高度(支持XHTML,支持FF)
更新時間:2007年07月24日 00:00:00 作者:
先說明,這個辦法只限于iframe中的子頁面也是本地頁面(不能引用外網(wǎng)頁面)
======方法=====
第一步 js部分
function getSize() {
var xScroll, yScroll;
if (window.innerHeight && window.scrollMaxY) {
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth, windowHeight;
if (self.innerHeight) { // all except Explorer
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
// for small pages with total height less then height of the viewport
if(yScroll < windowHeight){
pageHeight = windowHeight;
y = pageHeight;
} else {
pageHeight = yScroll;
y = pageHeight;
}
if(xScroll < windowWidth){
pageWidth = windowWidth;
} else {
pageWidth = xScroll;
}
arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;
}
這段代碼用來獲取目標(biāo)頁的參數(shù),包括頁面高、寬,屏幕高、寬
function autoHeight(pid) {
var x = new getSize();
parent.document.getElementById(pid).height=x[1];
}
這段代碼用來實現(xiàn)父頁面中iframe的高度自適應(yīng)
\\\\\\\\\\
第二步 頁面部分
<div class="onright" style="width:480px;"><iframe id="infrm" name="infrm" marginwidth="0" marginheight="0" width="100%" src="park.htm" frameborder="0" scrolling="auto"></iframe>
這是父頁面的iframe,沒什么特別的,和普通的iframe一樣,不過要設(shè)置好id值,以便子頁面的參數(shù)調(diào)用。
<body onload="autoHeight('infrm')"></body>
在body中利用onload事件,將自身的高度傳給父頁面的iframe。
======方法=====
第一步 js部分
function getSize() {
var xScroll, yScroll;
if (window.innerHeight && window.scrollMaxY) {
xScroll = document.body.scrollWidth;
yScroll = window.innerHeight + window.scrollMaxY;
} else if (document.body.scrollHeight > document.body.offsetHeight){ // all but Explorer Mac
xScroll = document.body.scrollWidth;
yScroll = document.body.scrollHeight;
} else { // Explorer Mac...would also work in Explorer 6 Strict, Mozilla and Safari
xScroll = document.body.offsetWidth;
yScroll = document.body.offsetHeight;
}
var windowWidth, windowHeight;
if (self.innerHeight) { // all except Explorer
windowWidth = self.innerWidth;
windowHeight = self.innerHeight;
} else if (document.documentElement && document.documentElement.clientHeight) { // Explorer 6 Strict Mode
windowWidth = document.documentElement.clientWidth;
windowHeight = document.documentElement.clientHeight;
} else if (document.body) { // other Explorers
windowWidth = document.body.clientWidth;
windowHeight = document.body.clientHeight;
}
// for small pages with total height less then height of the viewport
if(yScroll < windowHeight){
pageHeight = windowHeight;
y = pageHeight;
} else {
pageHeight = yScroll;
y = pageHeight;
}
if(xScroll < windowWidth){
pageWidth = windowWidth;
} else {
pageWidth = xScroll;
}
arrayPageSize = new Array(pageWidth,pageHeight,windowWidth,windowHeight)
return arrayPageSize;
}
這段代碼用來獲取目標(biāo)頁的參數(shù),包括頁面高、寬,屏幕高、寬
function autoHeight(pid) {
var x = new getSize();
parent.document.getElementById(pid).height=x[1];
}
這段代碼用來實現(xiàn)父頁面中iframe的高度自適應(yīng)
\\\\\\\\\\
第二步 頁面部分
<div class="onright" style="width:480px;"><iframe id="infrm" name="infrm" marginwidth="0" marginheight="0" width="100%" src="park.htm" frameborder="0" scrolling="auto"></iframe>
這是父頁面的iframe,沒什么特別的,和普通的iframe一樣,不過要設(shè)置好id值,以便子頁面的參數(shù)調(diào)用。
<body onload="autoHeight('infrm')"></body>
在body中利用onload事件,將自身的高度傳給父頁面的iframe。
您可能感興趣的文章:
- Vue 使用iframe引用html頁面實現(xiàn)vue和html頁面方法的調(diào)用操作
- Html中 IFrame的用法及注意點
- html判斷當(dāng)前頁面是否在iframe中的實例
- js取得html iframe中的元素和變量值
- 在Flex(Flash)中嵌入HTML代碼或頁面(Flex IFrame)
- 設(shè)置iframe的document.designMode后僅Firefox中其body.innerHTML為br
- js中訪問html中iframe的文檔對象的代碼[IE6,IE7,IE8,FF]
- 讓iframe自適應(yīng)高度(支持xhtml)IE firefox兼容
- HTML iframe標(biāo)簽用法案例詳解
相關(guān)文章
JavaScript基礎(chǔ)之AJAX簡單的小demo
這篇文章主要介紹了JavaScript基礎(chǔ)之AJAX簡單的小demo ,代碼簡單易懂,非常不錯,具有參考借鑒價值,需要的朋友參考下2017-01-01JavaScript實現(xiàn)圖片懶加載的三種方案詳解
圖片懶加載,當(dāng)圖片出現(xiàn)在可視區(qū)域再進(jìn)行加載,提升用戶的體驗,這篇文章主要為大家整理了三個常用的圖片懶加載實現(xiàn)方法,希望對大家有所幫助2023-12-12JavaScript之瀏覽器對象_動力節(jié)點Java學(xué)院整理
JavaScript可以獲取瀏覽器提供的很多對象,并進(jìn)行操作。下面通過本文給大家介紹JavaScript之瀏覽器對象的相關(guān)知識,一起看看吧2017-07-07JavaScript的Number對象的toString()方法
toString()方法可以把Number對象轉(zhuǎn)換成字符串,并返回此字符串,本文給大家介紹JavaScript的Number對象的toString()方法,對javascript對象方法相關(guān)知識感興趣的朋友一起學(xué)習(xí)吧2015-12-12JavaScript中字符串分割函數(shù)split用法實例
這篇文章主要介紹了JavaScript中字符串分割函數(shù)split用法,實例分析了javascript中split函數(shù)操作字符串的技巧,非常具有實用價值,需要的朋友可以參考下2015-04-04跟我學(xué)習(xí)javascript的prototype,getPrototypeOf和__proto__
跟我學(xué)習(xí)javascript的prototype,getPrototypeOf和__proto__,深入學(xué)習(xí)了三個用來訪問prototype的方法,感興趣的小伙伴們可以參考一下2015-11-11