• ベストアンサー

ウィンドウサイズ固定

いつもお世話になっております。 イントラネット上のコンテンツにおいて TOP画面のサイズを固定したいと思っております。 子ウィンドウはオープン時に"resizable=no"で サイズ固定できますが 親ウィンドウではどうでしょうか? 動作は以下のようになればよいのですが obj = window.open(selfUrl, name, "resize=no"); self.opener = self; self.close(); 諸事情により ブラウザのプロセスIDが変化してしまうと困るので 「親ウィンドウを開きなおす」技は使えません・・・。 CSSで max-width:1024px;min-width:1024px; と試してみてもサイズ固定にはならないしで 煮詰まってしまいました。 何か方法をご存知の方 いらっしゃいましたら宜しくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • yambejp
  • ベストアンサー率51% (3827/7415)
回答No.2

前から気になっていた案件なので久しぶりに 真剣に考えていたら、こういう手を思いつきました。 どうでしょう? <html> <head> <script language=javascript> window.onresize=function(){ rw=document.body.clientWidth; rh=document.body.clientHeight; window.resizeBy((w - rw),(h - rh)) } function loadFunc(){ w=document.body.clientWidth; h=document.body.clientHeight; } </script> </head> <body onLoad="loadFunc()"> test </body> </html>

kawakami2005
質問者

補足

ご回答ありがとうございます。 私の環境でご提案頂いた方法を試してみたところ (windowsXP SP2 IE6.0) やはりスクリプトエラーで 「アクセスが拒否されました」と出力されてしまいました。 (発生箇所"resizeBy"メソッド) 私の環境が悪いのでしょうか?

その他の回答 (1)

  • BLUEPIXY
  • ベストアンサー率50% (3003/5914)
回答No.1

自ウインドウの"resizable=no"は、できなかったように思います。 IEの場合、サイズ変更開始でイベントが起きるので window.onresize=function(){ alert("サイズの変更はできません");return false; }; とすれば、サイズ変更を邪魔できます。 (私なら、こんなサイトには2度と来ませんが) Firefox では、onresize イベントは、サイズが変更されてから起こるようなので、 onresize イベントハンドラの中で、 window.resizeTo(1024, XXX); を使って強制的に戻るようにするとかすればいいかもしれません。 (どっちにしてもそんなサイトはイヤですが)

kawakami2005
質問者

補足

ご回答ありがとうございます。 仰るとおり、サイズ固定のサイトはエチケット違反であるのは承知しております。 ただ、今回は社内サイトであり、お客様の要望ですので・・・。 さて、本題の方ですが > Firefox では、onresize イベントは(以下略 社内サイトと言う事もあり、 対象ブラウザはIE6.0に統一されており この点は問題ありませんでしたので onResizeイベントハンドラ内で resizeToメソッドを呼び出そうと思ったのですが どうやら、当該イベントハンドラ内からでは アクセス不可能なようです。 (以前は出来た気がするので、修正が入ったのでしょうか??) ex1) window.onResize = window.resizeTo(xxx, xxx); スクリプトエラー:実装されていません。 ex2) window.onResize = resizeEv; function resizeEv() { window.resizeTo(xxx, xxx); return false; } スクリプトエラー:アクセスが拒否されました。 ちなみに、 windows XP SP2.IE6.0です。 実現困難なようなので、 仕様を変更する方向で働きかけてみようと思います。 ありがとうございました。

関連するQ&A

専門家に質問してみよう