iFrameのheightを取得して、自動サイズ調整 | φ(..)メモとして残しておこう…

iFrameのheightを取得して、自動サイズ調整



自分用メモ。



========Script========

<script>
function doIframe(){
o = document.getElementsByTagName('iframe');

//複数ある場合でも対応
for(i=0;i<o.length;i++){
if (/\bautoHeight\b/.test(o[i].className)){
setHeight(o[i]);
addEvent(o[i],'load', doIframe);
}
}
}

function setHeight(e){
if(e.contentDocument){
e.height = e.contentDocument.body.offsetHeight + 35;
} else {
e.height = e.contentWindow.document.body.scrollHeight;
}
}

function addEvent(obj, evType, fn){
if(obj.addEventListener)
{
obj.addEventListener(evType, fn,false);
return true;
} else if (obj.attachEvent){
var r = obj.attachEvent("on"+evType, fn);
return r;
} else {
return false;
}
}

if (document.getElementById && document.createTextNode){
addEvent(window,'load', doIframe);
}
</script>


======HTML======

<iframe
src="example.html"
width="100%"
height="100%"
scrolling="no"
align="top"
frameborder="0"
class="autoHeight"></iframe>



動作確認

・Chrome
・FF9
・IE7,8,9

そういや、Safari入れてないや…。