私は、私たちの会社CMSに埋め込みたいアプリケーションがあります。それを行う唯一の方法は(私は言われました)、それをにロードすることです。<iframe> - 参照ページの高さ全体を表示するにはどうすればよいですか?
Easy:just set height
およびwidth
〜100%
!それ以外は動作しません。
は私が0
にframeborder
を設定して知りましたので、それは、少なくともは、サイトの一部のようなに見えますが、私はの内側に出回っ1を持っているページを醜いスクロールバーを持って希望しません。
これを行うにはどんなトリックがありますか?
EDIT:私は多少私の質問を明確にする必要があると思う:
- CMSは、当社のウェブサイト全体のために自分のアプリケーション
- CMSを使用して作成
- ほとんどのページを綿毛やものを表示する会社私はの の
- 私は
iframe
の上のコントロールを持っていないので、どのような解決策も参照ページから動作する必要があります(タグの属性) - CMSはフッターを表示するので、100万個の画素と高さを設定することは良いアイデアではありません
は、私が参照されたページから親ページのDOMにアクセスすることはできますか?これは役立つかもしれないが、私は何人かの人々がこれを可能にしたくない場合があります見ることができます...
この手法は、複数のソースから(gleanedを動作するようだが、受け入れ答えからlinkに触発さ:
で親ドキュメント:子で
<iframe id="MyIFRAME" name="MyIFRAME"
src="http://localhost/child.html"
scrolling="auto" width="100%" frameborder="0">
no iframes supported...
</iframe>
:ところで
<!-- ... -->
<body>
<script type="text/javascript">
function resizeIframe() {
var docHeight;
if (typeof document.height != 'undefined') {
docHeight = document.height;
}
else if (document.compatMode && document.compatMode != 'BackCompat') {
docHeight = document.documentElement.scrollHeight;
}
else if (document.body
&& typeof document.body.scrollHeight != 'undefined') {
docHeight = document.body.scrollHeight;
}
// magic number: suppress generation of scrollbars...
docHeight += 20;
parent.document.getElementById('MyIFRAME').style.height = docHeight + "px";
}
parent.document.getElementById('MyIFRAME').onload = resizeIframe;
parent.window.onresize = resizeIframe;
</script>
</body>
:これは、セキュリティ上の理由から、JavaScriptでの制限により、親と子が同じドメインにある場合にのみ機能します。
このリンクのみの回答が受け入れられ、複数回投票されたとは信じられません。 –