私は代替リアリティーゲームに取り組んでいます。ポップアップを閉じながら、ある時間内に数学的な質問に答えなければならないレベルを作成することが任されています。目標は、ポップアップが自分のポップアップを生成するようにすることです。ユーザーがポップアップを長すぎると無視すると、コントロールがすぐに消えてしまいます。人々がポップアップブロッカーを放置しないようにするには、数学の問題もポップアップになるでしょう。残念ながら、私はJavascriptを知らないので、Webからコードをコピーすることに頼っています。他のポップアップを作成するポップアップを作成するにはどうすればよいですか?
私の計画は、focus.htmlというページを5秒ごとにポップアップする(つまり、まだ時間を決めている)ベースページを持つことです。 focus.html彼らは、5秒ごとに別のfocus.htmlをポップアップします。あなたが5秒間開かれたままにしておけば、2人で閉じることができます。理論的には。
しかし、何らかの理由で、ポップアップは自分のポップアップを作成しません。ベースページを開くと、focus.htmlはベースページが呼び出されたときにのみポップアップします。また、focus.htmlを手動で開くと、ポップアップはメインブラウザにあるfocus.htmlのコピーからのみ発生します。
focus.htmlのためのコード:
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<!-- <link rel="stylesheet" href="game.css" type="text/css" media="screen" /> -->
<title>Focus</title>
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
closetime = 0; // Close window after __ number of seconds?
// 0 = do not close, anything else = number of seconds
function Start1(URL1, WIDTH, HEIGHT) {
windowprops = "left=50,top=50,width=" + WIDTH + ",height=" + HEIGHT;
preview = window.open(URL1, "preview", windowprops);
if (closetime) {
setTimeout("preview.close();", closetime*1000);
}
}
function doPopup1() {
url1 = "focus.html";
width = 500; // width of window in pixels
height = 500; // height of window in pixels
delay = 5; // time in seconds before popup opens
timer = setTimeout("Start1(url1, width, height)", delay*1000);
}
function doPopup2() {
url1 = "focus.html";
width = 500; // width of window in pixels
height = 500; // height of window in pixels
delay = 10; // time in seconds before popup opens
timer = setTimeout("Start1(url1, width, height)", delay*1000);
}
function doPopup3() {
url1 = "focus.html";
width = 500; // width of window in pixels
height = 500; // height of window in pixels
delay = 15; // time in seconds before popup opens
timer = setTimeout("Start1(url1, width, height)", delay*1000);
}
// End -->
</script>
</head>
<body OnLoad="doPopup1(); doPopup2(); doPopup3();">
<br />
<p>Remember to FOCUS.</p>
</body>
ブラウザは、特定のページに対して任意の名前のポップアップを1つだけ開くので、 '' preview.''を 'window.open()'の第2引数として渡すと問題が発生します。代わりに 'undefined'を渡してください。 –
'setTimeout'に文字列を渡さず、' eval'を使います。関数を渡す: 'setTimeout(function(){Start1(url1、width、height);}、delay * 1000)' –
ありがとう、それは完璧に働いた。 – CowGoes