別のサービスから取り込まれたコンテンツを表示する iFrame があります。ただし、コンテンツには、AJAX を介してより多くのコンテンツを水平方向にロードするボタンがあり、コンテンツの高さを押し下げるため、スクロールバーが発生します。
iFrame をこの変更に対応させ、ユーザーがより多くのコンテンツを読み込んだときに高さを上げる方法はありますか?
別のサービスから取り込まれたコンテンツを表示する iFrame があります。ただし、コンテンツには、AJAX を介してより多くのコンテンツを水平方向にロードするボタンがあり、コンテンツの高さを押し下げるため、スクロールバーが発生します。
iFrame をこの変更に対応させ、ユーザーがより多くのコンテンツを読み込んだときに高さを上げる方法はありますか?
このマイクロソフトの記事に答えがあるようです: http://support.microsoft.com/kb/278469
<HTML>
<HEAD>
<SCRIPT LANGUAGE=javascript>
<!--
function reSize()
{
try{
var oBody = ifrm.document.body;
var oFrame = document.all("ifrm");
oFrame.style.height = oBody.scrollHeight + (oBody.offsetHeight - oBody.clientHeight);
oFrame.style.width = oBody.scrollWidth + (oBody.offsetWidth - oBody.clientWidth);
}
//An error is raised if the IFrame domain != its container's domain
catch(e)
{
window.status = 'Error: ' + e.number + '; ' + e.description;
}
}
//-->
</SCRIPT>
</HEAD>
<BODY onload=reSize()>
<iframe onresize=reSize() id=ifrm src=YOUR_PAGE_HERE></iframe>
</BODY>
</HTML>
基本的に、子ドキュメントのサイズ変更イベントをタップし、それに応じて iframe のサイズを変更します。