1

私は代替現実ゲームに取り組んでおり、プレイヤーがポップアップを閉じている間、一定時間内に数学の質問に答えることに集中しなければならないレベルを作成する任務を負っています。目標は、ポップアップが独自のポップアップを生成するようにすることです。これにより、ユーザーが長時間それらを無視すると、事態はすぐに制御不能になります。また、ポップアップ ブロッカーをオンのままにしておくことがないように、数学の問題もポップアップに表示されます。残念ながら、私は 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>

4

1 に答える 1

1
preview = window.open(URL1, "preview", windowprops);

2番目のウィンドウを開くと、最初のウィンドウと同じ名前になるため、複数のウィンドウを開くことはできません。名前(空の文字列)を渡さない場合は、多くを開くことができます。

于 2012-05-04T23:32:23.213 に答える