No.1ベストアンサー
- 回答日時:
Windows+一部のブラウザのみでの確認なので自信なし。
function client_resizeTo(width, height) {
if (document.layers) { // for NN4
window.resizeTo(width, height);
window.resizeTo(width, height);
} else {
window.resizeTo(width*2, height*2);
var client_width = document.body.clientWidth;
var client_height = document.body.clientHeight;
window.resizeTo(width*3-client_width, height*3-client_height);
}
}
NN4 での resizeTo() は、引数をクライアント領域のサイズとしてウィンドウサイズを調整するようです。
しかし、リサイズによってウィンドウメニューの折り返しが行われると、高さが足りなくなってしまいます。
このため、幅調整用、高さ調整用の2回分の resizeTo() を実行しています。
IE および NN7 では、document.body.clientWidth (または .clientHeight)でクライアント領域のサイズを知ることができます。
これを使い、目的のサイズで resizeTo() を行った後のクライアント領域のサイズを測り、不足分を調整して再度 resizeTo() を実行します。
これだけなら
window.resizeTo(width, height);
var client_width = document.body.clientWidth;
var client_height = document.body.clientHeight;
window.resizeTo(width+width-client_width, height+height-client_height);
でいいのですが、これでは1度目のリサイズで入ってしまったスクロールバーが消えた分の調整ができないため、1度目のリサイズでスクロールバーが出ない大き目のサイズにして調整を行っているのです。
ちなみに client_resizeTo() は、BODYタグの onLoad イベント時、またはそれ以降でないと利用できません。
また、ページマージンが0になるよう、BODYタグを調整しておく必要があります。
(つまり、BODYタグに topmargin=0 leftmargin=0 marginwidth=0 marginheight=0 を指定しておく。)
※スクリプトのインデントに全角空白を使っているので、コピペするときは半角空白かタブに置き換えてください。
この回答へのお礼
お礼日時:2003/06/30 09:46
ご回答ありがとうございます。
IEでは上手くいきましたが、NN6ではうまくいきません。clientWidthをサポートしていないようで。
すごくヒントになりましたので、大変嬉しく思っています。ちょっといじってみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- モニター・ディスプレイ パソコンでスクリーンショットしたもの(HP)を印刷しました。 3 2022/07/03 16:39
- Excel(エクセル) 【エクセルマクロ】既に開いているIEの、サイズや表示位置を変更するには 4 2022/12/01 22:57
- その他(ソフトウェア) 画像の拡大率を固定したまま次の画像を表示出来るビューアを探しています 2 2022/05/13 17:19
- Outlook(アウトルック) Outlook 受信メールの文字サイズ変更 2 2022/10/14 14:41
- Visual Basic(VBA) 動かなくなってしまった古いVBAを動くようにしたい 8 2022/09/20 13:57
- Word(ワード) パソコンのソフト WordとExcelについて教えてください。 Excelで作った図形をWordにコ 1 2022/04/01 23:27
- Word(ワード) Wordでの印刷サイズについて A4の原稿をB5サイズで出力したいとき、 印刷から用紙サイズの指定か 4 2022/04/30 09:51
- CAD・DTP vectorworks、winとmacでデータを共有する場合 1 2023/02/20 16:41
- HTML・CSS (Javascript)印刷するファイルに応じて印刷プレビュー画面で用紙を自動的に切り替えたい!! 2 2022/04/11 12:04
- Excel(エクセル) コントロールにリンクするセルが選択されない 3 2022/06/12 14:37
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
あなたのXAMPPのdashboard内のj...
-
サブフレームがうまく出来ません。
-
<a href="#" …>の意味を教えて...
-
HTMLでサブフレームから親のス...
-
Dreamweaver で 外部JSを読み込...
-
【SSI】include file、include ...
-
HTML内に記載された画像のURLを...
-
GASを使って、Gmailから自動送...
-
乱数を一定時間毎に表示させた...
-
javascript スライダー
-
フレームの指定方法について。
-
ページ遷移をコントロールしたい
-
外部JavaScriptの設置場所について
-
Javascript でText file の書き...
-
プルダウンメニューを別ファイ...
-
cssにjavascriptを入れる?呼び...
-
Spry と facebox の併用はでき...
-
横スクロールを右から左へ・・・
-
Ajaxを利用してテキストエリア...
-
map とlightbox
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
あなたのXAMPPのdashboard内のj...
-
新しいウィンドゥを最大化で立...
-
SQLのWHEREで全てを質問する方法
-
window.openでフルスクリーン表...
-
htmlファイルを開いた時の画面...
-
外部からのjs呼び出しについて。
-
JAVAでリンクボタンを作成して...
-
小窓を表示する時に、必ず右上...
-
プログラミング初心者です
-
GIFアニメの動きが止まってしま...
-
window.opener.location.href ...
-
IF文で該当の処理を通らない
-
町内会での不倫
-
javascript サーバーファイル有...
-
Canvasを使って描画して面積取得
-
window.openで404エラーがでます
-
以下の内、どれでも良いので可...
-
親ページを閉じたときにサブウ...
-
ホームページで window.open() ...
-
サブウィンドウの大きさを複数...
おすすめ情報