說明:
page_include = 被引用的頁面
page_parent = 首頁面
解決方法:
方法1
在$page_include加入JS代碼
自适應IFrame(IFRAME AutoStretch) function AutoStretch_1(frmId)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ... {
自适應IFrame(IFRAME AutoStretch) var frmObj = null;
自适應IFrame(IFRAME AutoStretch) //如果被引用且提供的父視窗的FRAMEID
自适應IFrame(IFRAME AutoStretch) if (parent != null && frmId != null)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch) frmObj = parent.document.getElementById(frmId);
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) if (frmObj != null)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) if (frmObj.contentDocument)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{//FOREFOX
自适應IFrame(IFRAME AutoStretch) frmObj.style.height=document.body.offsetHeight;
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) else (frmObj.Document)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{//IE && Opera
自适應IFrame(IFRAME AutoStretch) frmObj.style.height = document.body.scrollHeight;
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) }
該方法有一個BUG,如果$page_include發生無重新整理的動态改變,導緻$page_include的顯示高度變短,opera将顯示不正常。
方法2
在$page_parent 端增加JS代碼
自适應IFrame(IFRAME AutoStretch) Iframe自适應高度
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) < script language = " JavaScript " >
自适應IFrame(IFRAME AutoStretch) // ** iframe自動适應頁面 **//
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) // 輸入你希望根據頁面高度自動調整高度的iframe的名稱的清單
自适應IFrame(IFRAME AutoStretch) // 用逗号把每個iframe的ID分隔. 例如: ["myframe1", "myframe2"],可以隻有一個窗體,則不用逗号。
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) // 定義iframe的ID
自适應IFrame(IFRAME AutoStretch) var iframeids = [ " content " ]
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) // 如果使用者的浏覽器不支援iframe是否将iframe隐藏 yes 表示隐藏,no表示不隐藏
自适應IFrame(IFRAME AutoStretch) var iframehide = " yes "
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) function dyniframesize()
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ... {
自适應IFrame(IFRAME AutoStretch) var dyniframe=new Array()
自适應IFrame(IFRAME AutoStretch) for (i=0; i<iframeids.length; i++)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch) if (document.getElementById)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch) //自動調整iframe高度
自适應IFrame(IFRAME AutoStretch) dyniframe[dyniframe.length] = document.getElementById(iframeids[i]);
自适應IFrame(IFRAME AutoStretch) if (dyniframe[i] && !window.opera)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch) dyniframe[i].style.display="block"
自适應IFrame(IFRAME AutoStretch) if (dyniframe[i].contentDocument && dyniframe[i].contentDocument.body.offsetHeight) //如果使用者的浏覽器是NetScape
自适應IFrame(IFRAME AutoStretch) dyniframe[i].height = dyniframe[i].contentDocument.body.offsetHeight;
自适應IFrame(IFRAME AutoStretch) else if (dyniframe[i].Document && dyniframe[i].Document.body.scrollHeight) //如果使用者的浏覽器是IE
自适應IFrame(IFRAME AutoStretch) dyniframe[i].height = dyniframe[i].Document.body.scrollHeight;
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) //根據設定的參數來處理不支援iframe的浏覽器的顯示問題
自适應IFrame(IFRAME AutoStretch) if ((document.all || document.getElementById) && iframehide=="no")
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch) var tempobj=document.all? document.all[iframeids[i]] : document.getElementById(iframeids[i])
自适應IFrame(IFRAME AutoStretch) tempobj.style.display="block"
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) if (window.addEventListener)
自适應IFrame(IFRAME AutoStretch) window.addEventListener( " load " , dyniframesize, false )
自适應IFrame(IFRAME AutoStretch) else if (window.attachEvent)
自适應IFrame(IFRAME AutoStretch) window.attachEvent( " onload " , dyniframesize)
自适應IFrame(IFRAME AutoStretch) else
自适應IFrame(IFRAME AutoStretch) window.onload = dyniframesize
自适應IFrame(IFRAME AutoStretch) </ script >
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) 方法3
支援FIREFOX,IE,OPERA
1. 在$page_include端的最後一行增加一個空白的圖檔
2. 在$page_include端增加JS代碼
自适應IFrame(IFRAME AutoStretch) function AutoStretch_2(frmId, lastPicId)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ... {
自适應IFrame(IFRAME AutoStretch) var frmObj = null;
自适應IFrame(IFRAME AutoStretch) if (parent != null && frmId != null)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch) frmObj = parent.document.getElementById(frmId);
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) if (frmObj != null)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch) frmObj.style.height=parent.document.getElementById(lastPicId).offsetTop;
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) getPostion = function(elem)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ... {
自适應IFrame(IFRAME AutoStretch) var offsetTrail = elem;
自适應IFrame(IFRAME AutoStretch) var offsetLeft = 0;
自适應IFrame(IFRAME AutoStretch) var offsetTop = 0;
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) while (offsetTrail) ...{
自适應IFrame(IFRAME AutoStretch) offsetLeft += offsetTrail.offsetLeft;
自适應IFrame(IFRAME AutoStretch) offsetTop += offsetTrail.offsetTop;
自适應IFrame(IFRAME AutoStretch) offsetTrail = offsetTrail.offsetParent;
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) var res = ...{"left":offsetLeft,"top":offsetTop};
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) return res;
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) } ;
自适應IFrame(IFRAME AutoStretch) getHeight = function(elem)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ... {
自适應IFrame(IFRAME AutoStretch) if (elem.offsetHeight)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch) return elem.offsetHeight;
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) else
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch) return elem.scrollHeight;
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) } ;
自适應IFrame(IFRAME AutoStretch) getWidth = function(elem)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ... {
自适應IFrame(IFRAME AutoStretch) if (elem.offsetWidth)
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch) return elem.offsetWidth;
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) else
自适應IFrame(IFRAME AutoStretch)
自适應IFrame(IFRAME AutoStretch) ...{
自适應IFrame(IFRAME AutoStretch) return elem.scrollWidth;
自适應IFrame(IFRAME AutoStretch) }
自适應IFrame(IFRAME AutoStretch) } ;