- ベストアンサー
自分のサイトを開いた時にウィンドウのサイズを固定したい
いつもお世話になります。 htmlもよく分からずに自分のサイトを作っている、初心者です。 生意気な事ですが、デザインの関係で 自分のサイトを開いた時にウィンドウのサイズを 固定して見てもらいたいのですが、 どうすればよいのか分かりません。 もしかしたらここで聞く事ではないのかもしれませんが なにぶんにも初心者なのでおわかりの方がいらっしゃれば ぜひご教授ください よろしくお願いします。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
- ベストアンサー
サイトトップでJavaScriptから新しいウィンドウを開いて、指定のサイズのウィンドウ上で展開する場合のソース例です。 <html> <head> <title>Top page</title> <script type="text/javascript"><!-- function winopen(){ var MainWin=window.open("tester.htm","MyWebSite","width=600, height=400, statusbar=1, location=1, menubar=1, toolbar=1, resizable=0, scrollbars=1"); } //--></script> </head> <body> <p><a href="呼び出すページのURL" onClick="winopen(); return false;">ENTER</a></p> </body> </html> このようなソースにすると、このページのリンクをクリックした時に、JavaScriptで新しいウィンドウをサイズを指定して開き、そこに次のページを読み込むようになります。 もしJavaScriptが有効ではない環境で閲覧する場合には、新しいウィンドウは生成されず、トップページを表示したウィンドウ上で次のページが表示されるようになります。 ウィンドウサイズは、window.open()の括弧内にある、widthとheightで指定します。 単位はピクセルです。 その他にもいくつか指定を入れてありますが、このスクリプトの部分については、参考URLが詳しいので、そちらを参照してみてください。 ここからはアドバイスですが、可能であれば、やはりウィンドウサイズをリサイズさせなくてもすむデザインにしたほうが無難と思います。 先ほど書いた、フレームを使ってページの表示領域を制限する方法でも、ウィンドウサイズに左右されないデザインに近づけることができると思います。 他に、テーブルで囲んだり、スタイルシートによって表示の横幅を決めてしまえば、内容を表示する領域を固定値として確保できるので、ウィンドウ幅の差によるデザインの崩れを排除できる可能性もあるでしょう。 テーブルの場合は、通常のテーブルで横幅を指定し、その中に内容をすべて入れてしまえばよいだけです。 スタイルシートの場合は、 <div style="margin: auto; width: 600px;"></div> で全体を囲めば、ウィンドウの横幅が変わっても内容の表示幅は変わらないようにできます。 もし、デザイン上のウィンドウサイズ指定が、ウィンドウの横幅が変わることでレイアウトが崩れることの防止策であるとするなら、これらの方法も対策になると思いますよ。 参考になれば幸いです。
その他の回答 (2)
ウィンドウそのもののサイズを制御するのは、HTMLのみでは不可能です。 JavaScriptを使う必要があるでしょう。 ただ、先の方も述べられているように、ウィンドウサイズを勝手に変えてしまうページは、閲覧側から見れば、歯に絹を着せぬ物言いをすれば、非常に鬱陶しいです。 ウィンドウサイズはユーザーの好みによるところも大きく、またウィンドウサイズを左右してしまうのは閲覧側のユーザビリティを阻害します。 あまりお勧めはしません。 サイトトップでJavaScriptからサイズを指定したウィンドウを開き、そこにサイトの内容を表示させるような形であれば、閲覧側の不便も多少は緩和できるかもしれません。 ただ、デザインの趣旨に沿うかどうかは別問題になりますが。 どうしても閲覧されるサイズをHTMLで規定したいというのであれば、フレームを希望のサイズになるように切って、その中でサイトを展開するのも方法の一つかと思います。 こちらの方法であれば、ウィンドウサイズは変更させずに表示枠のサイズを規定できると思います。 まずはこちらの方法を試されてみてはいかがでしょうか。
補足
はじめまして、lead1976さん。 早速回答いただいてありがとうございます。 >サイトトップでJavaScriptからサイズを指定したウィンドウを開き、そこにサイトの内容を表示させるような形・・・ 実際にはどのような html になるのでしょうか? もしよろしかったらお教えいただけませんか。 >フレームを希望のサイズになるように切って、その中でサイトを展開するのも方法の一つかと思います。 これだったら自分にもできるかもしれませんね。 ちなみに、htmlはかけないのでマイクロソフト・FrontPageで作っています。 でも、やはりデザインのためにリサイズするのは やめておいた方がよいみたいですね。 つまり、リサイズしないですむデザインを考えるという事でしょうか。
- osamuy
- ベストアンサー率42% (1231/2878)
例えば、 <body onload="javascript:with(top){moveTo(0,0);resizeTo(256,128);}"> <h1>Test</h1> </body> ――みたいな事ができますが、望みもしないのにウィンドウのリサイズを勝手に行うページ・デザインは、ほとんどの人に受け入れてもらえないでしょう。 見やすいウィンドウサイズは人それぞれですので。
補足
はじめましてosamuyさん。 早速回答いただいてありがとうございます。 お教えいただいた 3行のhtmlを書き出してブラウズしたところ うまくいきません。 自分はjavascript がどういうものか理解していないからでしょうね。すいません。 たしかに自分もブラウズしていて 勝手にリサイズされるのはあまり気持ちのいいものではありません。 別の方法でデザインを考えた方がいいのだろうと思います。
お礼
丁寧なアドバイス ほんとうにありがとうございます。 素直にアドバイスに従って フレームサイズを調整する事で デザインを維持できるようにやってみたいと思います。 たいしたデザインでもないのですが、 凝り性なものですから(笑) 自分のような初心者には 本当に有り難いアドバイスでした。 また、何かの折にお世話になるやもしれませんが その時も、またどうかよろしくお願い致します。