OKWAVEのAI「あい」が美容・健康の悩みに最適な回答をご提案!
-PR-
解決
済み

resizeTo を無効にする方法

  • 暇なときにでも
  • 質問No.221477
  • 閲覧数268
  • ありがとう数1
  • 気になる数0
  • 回答数1
  • コメント数0

メイン画面からjavaScriptを使用して別ウィンドウを立ち上げ、
別ウィンドウ側でresizeToを利用してサイズ指定をしています。

ユーザによって希望する画面サイズが異なるため、
ウィンドウを立ち上げるたびにサイズを手動で変更するのが
面倒であると苦情を受けています。

別ウィンドウを起動するときは
resizeToがかかるのは良いのですが、
再度メイン画面側から実行時には
resizeToがかからないようにしたいと考えています。

☆resize有効
「一度も画面の起動を行なっていない時」or
「一度起動された画面がユーザ側で削除された時」
☆resize無効
「既に起動された画面が残っている時」

このような切替えが可能であるかどうかお教え頂けますか?
よろしくお願いします。
通報する
  • 回答数1
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.1
レベル12

ベストアンサー率 75% (398/526)

> ☆resize有効
> 「一度も画面の起動を行なっていない時」or
> 「一度起動された画面がユーザ側で削除された時」
> ☆resize無効
> 「既に起動された画面が残っている時」

これを素直に実装してやればよいのでは?

■親HTML
<HTML>
<HEAD><TITLE>oya.html</TITLE>
<SCRIPT language="JavaScript"><!--
var win = null;
function subwin(a) {
  if (!win || win.closed) {
    win = open(a.href, a.target, "resizable=yes,scrollbars=yes");
  }
  win.focus();
  return false;
}
//--></SCRIPT>
</HEAD>
<BODY>
<A href="ko.html" target="KO" onClick="return subwin(this)">小窓open</A>
</BODY>
</HTML>

■子HTML
<HTML>
<HEAD><TITLE>ko.html</TITLE>
<SCRIPT language="JavaScript"><!--
window.resizeTo(400,360);
//--></SCRIPT>
</HEAD>
<BODY>KO</BODY>
</HTML>

親HTML内の変数 win は、
・一度も子画面を開いていない時 → null
・画面がユーザに消された時 → win.closed = true
・子画面が開いている時 → win.closed = false
となるので、
 !win   (分かりやすく書けば「win == null」)
または
 win.closed (分かりやすく書けば「win.closed == true」)
の時だけ、子画面を open してやればよいのです。

子HTMLの方では、open された時だけ resizeTo が実行されます。
(win.closed == false の時は、フォーカスが当たるだけです。)
お礼コメント
noname#1802

ありがとうございます。
自分で質問後にすぐ回答が解かってしまいました。
やはり一度言葉で書いてみるというのが解決策ですね。

if文に関しては回答頂いた通りです。
sizeの設定だけ子ウィンドウ側でなく
親ウィンドウ側から処理させていただきました。

ありがとうございました。
投稿日時 - 2002-02-20 16:26:54
-PR-
-PR-
このQ&Aで解決しましたか?
関連するQ&A
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

その他の関連するQ&A、テーマをキーワードで探す

キーワードでQ&A、テーマを検索する
-PR-
-PR-
-PR-

特集


いま みんなが気になるQ&A

関連するQ&A

-PR-

ピックアップ

-PR-
ページ先頭へ