天天躁日日躁狠狠躁AV麻豆-天天躁人人躁人人躁狂躁-天天澡夜夜澡人人澡-天天影视香色欲综合网-国产成人女人在线视频观看-国产成人女人视频在线观看

Iframe 自適應高度并實時監控高度變化的js代碼

google N次 + 百度M次 + 試驗了1605次之后(聽說農藥1605就是實驗了這么多次后出來的),得出下面成果,在IE7及Firefox3里試了下還能湊合著用用!
1、首先給出個Iframe。
復制代碼 代碼如下:
<iframe id="ifrm"
marginheight="0"
marginwidth="0"
height="100"
width="1000"
frameborder="0"
scrolling="no"
src="xxxxx.html">
</iframe>

2、然后看看怎么獲取Iframe中的頁面的高度。
其實最麻煩的就是怎么讓獲取的高度準確,不同的方式不同的瀏覽器中獲取到的值都會不一樣!暈啊~~。參考了多方意見得出以下Javascript函數(doc參數為window.document對象):
復制代碼 代碼如下:
function getDocHeight(doc)
{
//在IE中doc.body.scrollHeight的可信度最高
//在Firefox中,doc.height就可以了
var docHei = 0;
var scrollHei;//scrollHeight
var offsetHei;//offsetHeight,包含了邊框的高度
if (doc.height)
{
//Firefox支持此屬性,IE不支持
docHei = doc.height;
}
else if (doc.body)
{
//在IE中,只有body.scrollHeight是與當前頁面的高度一致的,
//其他的跳轉幾次后就會變的混亂,不知道是依照什么取的值!
//似乎跟包含它的窗口的大小變化有關
if(doc.body.offsetHeight) docHei = offsetHei = doc.body.offsetHeight;
if(doc.body.scrollHeight) docHei = scrollHei = doc.body.scrollHeight;
}
else if(doc.documentElement)
{
if(doc.documentElement.offsetHeight) docHei = offsetHei = doc.documentElement.offsetHeight;
if(doc.documentElement.scrollHeight) docHei = scrollHei = doc.documentElement.scrollHeight;
}
/*
docHei = Math.max(scrollHei,offsetHei);//取最大的值,某些情況下可能與實際頁面高度不符!
*/
return docHei;
}

3、最后修改Iframe的高度,并用一個定時器來不間斷檢查它包含的頁面的高度變化。
復制代碼 代碼如下:
function doReSize()
{
var iframeWin = window.frames['ifrm'];
var iframeEl = window.document.getElementById? window.document.getElementById('ifrm'): document.all? document.all['ifrm']: null;
if ( iframeEl && iframeWin )
{
var docHei = getDocHeight(iframeWin.document);
if (docHei != iframeEl.style.height) iframeEl.style.height = docHei + 'px';
}
else if(iframeEl)
{
var docHei = getDocHeight(iframeEl.contentDocument);
if (docHei != iframeEl.style.height) iframeEl.style.height = docHei + 'px';
}
}
function runResizeTask()
{
doReSize();
setTimeout("runResizeTask()",500);//每隔半秒執行一次
}
runResizeTask();

在這里就沒有去考慮被包含的頁面中是否有折疊、隱藏/展現的情況了!
完整js代碼
復制代碼 代碼如下:
<script language="Javascript" type="text/Javascript">
function getDocHeight(doc){
//在IE中doc.body.scrollHeight的可信度最高
//在Firefox中,doc.height就可以了
var docHei = 0;
var scrollHei;//scrollHeight
var offsetHei;//offsetHeight,包含了邊框的高度

if (doc.height){
//Firefox支持此屬性,IE不支持
docHei = doc.height;
}
else if (doc.body){
//在IE中,只有body.scrollHeight是與當前頁面的高度一致的,
//其他的跳轉幾次后就會變的混亂,不知道是依照什么取的值!
//似乎跟包含它的窗口的大小變化有關
if(doc.body.offsetHeight) docHei = offsetHei = doc.body.offsetHeight;
if(doc.body.scrollHeight) docHei = scrollHei = doc.body.scrollHeight;
}
else if(doc.documentElement){
if(doc.documentElement.offsetHeight) docHei = offsetHei = doc.documentElement.offsetHeight;
if(doc.documentElement.scrollHeight) docHei = scrollHei = doc.documentElement.scrollHeight;
}
/*
docHei = Math.max(scrollHei,offsetHei);//取最大的值,某些情況下可能與實際頁面高度不符!
*/
return docHei;
}
function doReSize(){
var iframeWin = window.frames['Main'];
var iframeEl = window.document.getElementById? window.document.getElementById('Main'): document.all? document.all['Main']: null;
if ( iframeEl && iframeWin ){
var docHei = getDocHeight(iframeWin.document);
if (docHei != iframeEl.style.height) iframeEl.style.height = docHei + 'px';
}
else if(iframeEl){
var docHei = getDocHeight(iframeEl.contentDocument);
if (docHei != iframeEl.style.height) iframeEl.style.height = docHei + 'px';
}
}

function runResizeTask(){
doReSize();
setTimeout("runResizeTask()",1000);//每隔1秒執行一次
}
runResizeTask();
</script>

JavaScript技術Iframe 自適應高度并實時監控高度變化的js代碼,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯系我們修改或刪除,多謝。

主站蜘蛛池模板: 国内精品久久久久影院网站 | 揉抓捏打抽插射免费视频 | 亚洲一区乱码电影在线 | 日本人的xxxxxxxxx69 | 男人插曲女人的叫声 | 男女啪啪抽搐呻吟高潮动态图 | 国产亚洲精品久久久久久国模美 | 野花日本免费完整版高清版动漫 | beeg日本老妇人 | 黄页网址大全免费观看 | 亚洲午夜无码久久久久蜜臀av | 国产国产人免费观看在线视频 | 亚洲精品嫩草AV在线观看 | 97超级碰久久久久香蕉人人 | FREE乌克兰嫩交HD | 校花的奶好大好浪 | 精品久久久噜噜噜久久7 | 最近的2019中文字幕国语HD | 亚洲国产精品久久无套麻豆 | 最新国自产拍 高清完整版 最新国产在线视频在线 | 亚洲国产日韩欧美高清片a 亚洲国产日韩a精品乱码 | 偷偷鲁青春草原视频分类 | 男人狂躁进女人免费视频公交 | 日韩欧美国产免费看清风阁 | jizz女学| 紧致肉肉高h | 2021全国精品卡一卡二 | 丰满的美女射精动态图 | 亚洲人成www在线播放 | 国产成人ae在线观看网站站 | 国产中文欧美日韩在线 | 伊人久久五月丁婷婷 | 国产精品亚洲污污网站入口 | 狠狠色狠狠色综合日日32 | 亚洲欧美成人在线 | 久久99精品视频 | 99国内精品 | 九九免费高清在线观看视频 | 国产日韩精品一区二区三区在线 | 色多多污污在线播放免费 | 欧美亚洲综合另类无码 |