私は代替現実ゲームに取り組んでおり、プレイヤーがポップアップを閉じている間、一定時間内に数学の質問に答えることに集中しなければならないレベルを作成する任務を負っています。目標は、ポップアップが独自のポップアップを生成するようにすることです。これにより、ユーザーが長時間それらを無視すると、事態はすぐに制御不能になります。また、ポップアップ ブロッカーをオンのままにしておくことがないように、数学の問題もポップアップに表示されます。残念ながら、私は Javascript を知らないので、Web からコードをコピーすることに頼ってきました。
私の計画は、5 秒ごとに focus.html というページをポップアップ表示するベース ページを用意することです (時間はまだ決めています)。focus.html は、5 秒ごとに別の focus.html をポップアップします。つまり、1 つを 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>