• ベストアンサー

小さなウインドウ開いて自動閉じることできますか?

200 * 200のウインドウ開いて、 10秒後に自動で閉じるようなスクリプトは可能でしょうか? 以下ではオブジェクトを指定してくださいエラーになりました。どぼじで?(TT) ----------------------------------- <html><head> <script language="JavaScript1.2"><!-- function resize(w1) { w1.resizeTo(200,200); w1.status=no } //--></script> </head> <body onLoad="setTiw1out('window.close()',10000); resize(window);"> 小さなウィンドウ 10秒後に自動で閉じます。 </body></html> -------------------------------------

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

  • ベストアンサー
  • EUR
  • ベストアンサー率61% (29/47)
回答No.2

setTimeoutのつづりが間違ってますよ。 あと念のためwindow.closeをthis.window.closeに変更してください。 w1.status=no; についてですが、ステータスバー等を消したいとのことでしょうか?それともステータスバーを空白にしたいのでしょうか? ステータスバー等を消したい場合は、新規でウィンドウを立ち上げるときしか出来なかったように思えます。 window.open("","","status='no'"); 空白にしたいということであれば W1.status=""; です。 以下修正してみました。 <html> <head> <script language="JavaScript"> <!-- function resize(w1) {   w1.resizeTo(200,200);   //w1.status=no; わかりませんでした } //--> </script> </head> <body onLoad="setTimeout('this.window.close()',10000); resize(this.window);"> 小さなウィンドウ 10秒後に自動で閉じます。 </body> </html>

morishita
質問者

お礼

できました。ありがとうございます! アドレスバー非表示にしたいのですが、無理なようですね。

その他の回答 (4)

回答No.5

もしかして、質問にあるソースは、開かれた側のソースでしょうか。 だとしたら、難しく考える必要はありません。 ~~~開かれたウインドウ側~~~~ <html> <head> </head> <body onLoad="setTimeout('close()',10000); resizeTo(200,200);"> 小さなウィンドウ 10秒後に自動で閉じます。 </body> </html> ~~~~~~~ ~~~~開く側~~~~ <html> <head> </head> <body onload="window.open("XXXXXX","w1","status=no");"> 大きなウィンドウ </body> </html> ~~~~~~~~~~~

回答No.4

根本的に間違えています。 <body onLoad="setTiw1out('window.close()',10000); resize(window);">の部分ですが、こういった書き方は出来ないはずです。 >window.close() この指定の仕方はおかしいです。 これでは「window」オブジェクトが、どのウインドウをさしているか分かりません。 しかも、こう書いた場合「window」はオブジェクトではなく、変数になってしまいます。 >resize(window); 「window」オブジェクトを指定しているつもりかもしれませんが、これでは「window」と言う変数を指定してしまっています。 > w1.resizeTo(200,200); この部分も、「resize(window)」で値が格納されていないので、無効なオブジェクトに対して「resizeTo()」が実行されています。 > w1.status=no ステータスバーを消したいのでしょうが、これでは「status」プロパティーに「no」を指定しています。 「status」プロパティーに設定できるのは、文字列なのでこのままではエラーになります。 ステータスバーを消すには「open()」関数の3番目の引数に「"status=no"」を指定します。 修正すると下記の様になります。 ~~~~~~~~ <html> <head> <title></title> <script language="JavaScript"> <!-- var objWin function WOpen() { objWin = window.open("XXXXXX","w1","width=200,height=200,status=no"); setTimeout("objWin.close()",10000); } // --> </SCRIPT> </head> <body onload="WOpen();"> 小さなウィンドウ 10秒後に自動で閉じます。 </body> </html> ~~~~~~~~~~~ 「XXXXX」の部分に小さなウインドウに表示するページのURLを入れてください。 「about:blank」を指定すると空白のページを開く事が出来ます。

参考URL:
http://www.tohoho-web.com/
morishita
質問者

お礼

ありがとうございます。 参考書よりよっぽど良くわかります。 今回は<form action=CGI> 呼び出したいのでresizetoにしました。( <input type="button" onClick=CGI> とやってみましたが、反応無く、あきらめました。 ありがとうございました。

  • m035
  • ベストアンサー率44% (38/86)
回答No.3

window.open("","","status=no,height=200,width=200"); ↑でウィンドウを開けばfunction resize(w1)がいりませんのでより良いものになるかと。

morishita
質問者

お礼

ありがとうございます。CGI呼び出したいので、resizetoにするしかないようですね。

  • Electman
  • ベストアンサー率19% (30/154)
回答No.1

setTiw1out を setTimeoutにすれば良いのでは?

morishita
質問者

お礼

ありがとうございます。 オブジェクト指定してくださいエラーになるので、me.resizeto とかやった後に、me → w1 置き換えしたらそうなってしまいました(^^;

関連するQ&A