- ベストアンサー
小さなウインドウ開いて自動閉じることできますか?
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> -------------------------------------
- みんなの回答 (5)
- 専門家の回答
質問者が選んだベストアンサー
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>
その他の回答 (4)
- Aquarius172
- ベストアンサー率36% (111/308)
もしかして、質問にあるソースは、開かれた側のソースでしょうか。 だとしたら、難しく考える必要はありません。 ~~~開かれたウインドウ側~~~~ <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> ~~~~~~~~~~~
- Aquarius172
- ベストアンサー率36% (111/308)
根本的に間違えています。 <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/
お礼
ありがとうございます。 参考書よりよっぽど良くわかります。 今回は<form action=CGI> 呼び出したいのでresizetoにしました。( <input type="button" onClick=CGI> とやってみましたが、反応無く、あきらめました。 ありがとうございました。
- m035
- ベストアンサー率44% (38/86)
window.open("","","status=no,height=200,width=200"); ↑でウィンドウを開けばfunction resize(w1)がいりませんのでより良いものになるかと。
お礼
ありがとうございます。CGI呼び出したいので、resizetoにするしかないようですね。
- Electman
- ベストアンサー率19% (30/154)
setTiw1out を setTimeoutにすれば良いのでは?
お礼
ありがとうございます。 オブジェクト指定してくださいエラーになるので、me.resizeto とかやった後に、me → w1 置き換えしたらそうなってしまいました(^^;
お礼
できました。ありがとうございます! アドレスバー非表示にしたいのですが、無理なようですね。