アプリ版:「スタンプのみでお礼する」機能のリリースについて

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>
-------------------------------------

A 回答 (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>
    • good
    • 0
この回答へのお礼

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

アドレスバー非表示にしたいのですが、無理なようですね。

お礼日時:2005/06/17 16:29

もしかして、質問にあるソースは、開かれた側のソースでしょうか。



だとしたら、難しく考える必要はありません。

~~~開かれたウインドウ側~~~~
<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>
~~~~~~~~~~~
    • good
    • 0

根本的に間違えています。



<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/
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/06/17 16:46

window.open("","","status=no,height=200,width=200");




↑でウィンドウを開けばfunction resize(w1)がいりませんのでより良いものになるかと。
    • good
    • 0
この回答へのお礼

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

お礼日時:2005/06/17 16:40

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

    • good
    • 0
この回答へのお礼

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

お礼日時:2005/06/17 16:42

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!