最後我自己想到一個解法,也是意外試出來的,原本我是想利用把網頁中的圖片高度找出來,然後把這個高度傳給上一層主頁面的iframe去變更,試了之後竟然成功了,這表示給定值是可以的,但是如果是用document.body.scrollHight之類的語法,似乎很多瀏灠器現在不支援了,於是我在吃了一頓中秋晚餐後,想到了如果把頁面內容包在一個Div中,是不是可行?於是試了一下,發現改成document.getElementById("XXX").clientHeight後,的確是可以正確抓到內容的高度,不過這個方法沒法動態去調整iframe的高度,也就是說視窗有變化時,高度不會變化,不過我這次的個案也用不到動態調整就是了。
完整語法如下:
<script type="text/javascript">
function reSizeFrame(){
parent.document.getElementById("mainframe").style.height=document.getElementById("ContentWrapper").clientHeight+40+'px';
}
</script>
然後在<body>的地方加上onload="reSizeFrame();"就可以了,你也可以直接在script語法中直接下window.load=reSizeFrame();反正要在內頁的頁面load完畢後才能抓到正確的高度就是了。
function reSizeFrame(){
parent.document.getElementById("mainframe").style.height=document.getElementById("ContentWrapper").clientHeight+40+'px';
}
</script>
然後在<body>的地方加上onload="reSizeFrame();"就可以了,你也可以直接在script語法中直接下window.load=reSizeFrame();反正要在內頁的頁面load完畢後才能抓到正確的高度就是了。
沒有留言:
張貼留言