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

windowのクローズについて

  • 困ってます
  • 質問No.194577
  • 閲覧数111
  • ありがとう数2
  • 気になる数0
  • 回答数2
  • コメント数0

javascriptを以下のように利用する方法として
より良い方法を教えてください。

現在、1つのフォームに2つのボタン(b1,b2)を利用して
・b1 を押すと新しいウィンドウ(w1)を作成(立ち上げる)
・b2 を押すとウィンドウ(w1)をクローズする
というものを作成しています。

b1実行時の処理として
w1 = window.open("about:blank","w1");
document.forms[0].target="w1";
retun true;

b2実行時の処理として
document.forms[0].target="_top";
if(!w1.closed)w1.close();
return true;

このようにした場合、
一度、b1を実行してウィンドウ(w1)を立ち上げてから
b2を実行すれば何も問題なくウィンドウ(w1)は閉じます。
しかし、b1を実行していない場合や、
ユーザが自分でウィンドウ(w1)を閉じた場合、b2実行時に
IEで「ランタイムエラー w1が宣言されていません」
とエラーが出ます。
(エラーが出るだけで処理自体は問題ないようです)

どのように記述すればエラーになりませんか?
通報する
  • 回答数2
  • 気になる
    質問をブックマークします。
    マイページでまとめて確認できます。

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

  • 回答No.2
レベル14

ベストアンサー率 50% (1122/2211)

> が、b1を実行せずにb2を実行した場合にエラーとなります。

失礼しました。null はオブジェクトでした。というわけで、

if (w1 != null && !w1.closed)w1.close();}

としてください。
お礼コメント
noname#1802

たびたびありがとうございます。
できました!

今後ともよろしくお願いいたします。
投稿日時 - 2002-01-08 16:21:32
-PR-
-PR-

その他の回答 (全1件)

  • 回答No.1
レベル14

ベストアンサー率 50% (1122/2211)

何処か最初の方で var w1 = null; と変数宣言と初期化をしておく。ウィンドウをクローズするときの判断条件を if (typeof(w1) != "null" && !w1.closed) {  w1.close(); } と、初期化しただけの状態かどうかのチェックを付け加えておく。 # 動作確認までしてません m(_ _)m ...続きを読む
何処か最初の方で

var w1 = null;

と変数宣言と初期化をしておく。ウィンドウをクローズするときの判断条件を

if (typeof(w1) != "null" && !w1.closed) {
 w1.close();
}

と、初期化しただけの状態かどうかのチェックを付け加えておく。

# 動作確認までしてません m(_ _)m
補足コメント
noname#1802

<html><head><script Language="JavaScript">
<!--
var w1=null;
function send(re){
if(re>=1){
w1 = window.open("about:blank","w1");
document.forms[0].target="w1";
}else{
document.forms[0].target="_top";
if (typeof(w1) != "null" && !w1.closed)w1.close();}
return true;}
// --></script>
<body><form>
<input type="submit" value="b1" onclick="send(1)">
<input type="submit" value="b2" onclick="send(0)">
</form></body></html>

下記のように変更してみました。
が、b1を実行せずにb2を実行した場合にエラーとなります。
*メーラによっては変に表示される場合がありますことお詫びします。
投稿日時 - 2002-01-08 14:41:36


このQ&Aで解決しましたか?
-PR-
-PR-
こんな書き方もあるよ!この情報は知ってる?あなたの知識を教えて!
このQ&Aにはまだコメントがありません。
あなたの思ったこと、知っていることをここにコメントしてみましょう。

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

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

特集


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

-PR-

ピックアップ

-PR-
ページ先頭へ