iframe 高さ 自動取得 複数可バージョン

複数配置したいけど前のものだとちょっとIE9で謎のエラーがでてしまったので。。

とても助かった。


========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>


0コメント

  • 1000 / 1000