jQueryでiframeの縦幅を自動調整

2013/07/30

iframeの縦幅を自動で調整する方法

概要

iframeの横縦の幅は、通常呼び出し元のページでサイズを指定します。
読み込みページの縦幅が可変する場合など、縦幅が呼び出し元ページで指定した縦幅を超えるとスクロール表示されてしまします。

スクロール表示されずに、すべて表示したい時もありますよね。
そんな時は、JavaScriptを使用します。

方法は簡単です。
iframeページが読み込まれたあとに、呼び出し元のiframeのサイズをJavaScriptで変更するのです。
そのため、読み込みページにJavaScriptで処理を記述することになります。

サンプルコード

呼び出しが完了したときに、親画面の埋め込み枠のサイズを変更します。
※例では、iframeのIDはdisp_frameに設定しています。


function iframeResize(){
	try { // !IE
		document.styleSheets[0].insertRule( 'html' + '{overflow:hidden;}', document.styleSheets[0].cssRules.length );
	} catch (e) { // IE
		document.styleSheets[0].addRule( 'html', '{overflow:hidden;}');
	}

	var height = document.body.scrollHeight + 0;
	window.parent.document.getElementById('disp_frame').style.height = height + 'px';
}
window.onload = iframeResize;
Related

Vagrant+Docker+PHP環境で「session.save_path」指定時に、セッションファイルが空になるエラー

ファイル共有でのフォルダの所有者を設定 結論 PHP5.4.28 からセッションファイルのownerはrootもしくはWebサーバのユーザに限るという制限が...

LINEと連携したテイクアウト事前注文システム徹底比較!

目次 テイクアウト予約・注文受付システムのトレンド LINEと連携したテイクアウト事前注文システムの価格表 L.B.B.Cloud テイクイーツ ...

PHPで動画の撮影日を取得

PHPで動画の撮影日を取得 概要 PHPからffprobeコマンドを実行し、動画の撮影日時を取得します。 コード $posted_at = ...

FullCalendarでGoogleカレンダーのようなUIを実装

jQueryプラグインFullCalendarのサンプル 概要 FullCalendarを使用して、GoogleカレンダーのようなUIを実装する使用例を...

PHP Laravel5.2でmulti-auth(複数テーブルでの認証)を実装

Laravel5.2でマルチ認証 概要 LaravelとはPHPの中で今最も伸びているフレームワークです。 処理速度が遅いなどありますが、かなり使い安く拡...

PHP 正規表現でIPアドレス形式の文字列か判定

正規表現でIPアドレスの入力チェック 概要 フォームで入力されたIPアドレスが正当な文字列か判定するためのバリデーション処理を実装します。 基本的...
トップへ戻る