Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/398.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何创建一个弹出窗口来创建其他弹出窗口?_Javascript_Popup - Fatal编程技术网

Javascript 如何创建一个弹出窗口来创建其他弹出窗口?

Javascript 如何创建一个弹出窗口来创建其他弹出窗口?,javascript,popup,Javascript,Popup,我正在做一个替代现实游戏,我的任务是创造一个水平,玩家必须在一定时间内集中精力回答数学问题,同时关闭弹出窗口。目标是让弹出窗口生成自己的弹出窗口,这样,如果用户忽略它们太久,事情很快就会失控。为了确保人们不会忘记打开弹出窗口拦截器,数学问题也会出现在弹出窗口中。不幸的是,我不懂Javascript,所以我一直依赖于从web上复制代码 我的计划是建立一个基本页面,每5秒钟弹出一个名为focus.html的页面(大约5秒钟,仍然取决于时间)。focus.html会每隔五秒钟弹出另一个focus.ht

我正在做一个替代现实游戏,我的任务是创造一个水平,玩家必须在一定时间内集中精力回答数学问题,同时关闭弹出窗口。目标是让弹出窗口生成自己的弹出窗口,这样,如果用户忽略它们太久,事情很快就会失控。为了确保人们不会忘记打开弹出窗口拦截器,数学问题也会出现在弹出窗口中。不幸的是,我不懂Javascript,所以我一直依赖于从web上复制代码

我的计划是建立一个基本页面,每5秒钟弹出一个名为focus.html的页面(大约5秒钟,仍然取决于时间)。focus.html会每隔五秒钟弹出另一个focus.html。因此,如果你让一个打开五秒钟,你将有两个关闭,依此类推。理论上

但由于某些原因,弹出窗口不会创建自己的弹出窗口。如果打开基页,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>


集中

记住要集中注意力

当第二个窗口打开时,它将与第一个窗口具有相同的名称,因此您将永远无法打开多个窗口。如果不传递名称(空字符串),则可以打开多个


当第二个窗口打开时,它将与第一个窗口具有相同的名称,因此您将永远无法打开多个窗口。如果不传递名称(空字符串),则可以打开多个。

浏览器只会为特定页面打开一个具有任何给定名称的弹出窗口,因此传递
“preview”
作为
window.open()
的第二个参数会给您带来问题。改为传递
未定义的
。不要将字符串传递给
设置超时
,它使用
eval
。传递函数:
setTimeout(函数(){Start1(url1,宽度,高度);},delay*1000)
是的,对。一款wink wink真人游戏“轻推”。不,但实际上,它是为当前正在运行的ARG而设计的。在浏览器上查看它只会为特定页面打开一个带有任何给定名称的弹出窗口,因此传递
预览“
作为
窗口的第二个参数。open()
会给您带来问题。改为传递
未定义的
。不要将字符串传递给
设置超时
,它使用
eval
。传递函数:
setTimeout(函数(){Start1(url1,宽度,高度);},delay*1000)
是的,对。一款wink wink真人游戏“轻推”。不,但实际上,它是为当前正在运行的ARG而设计的。在“谢谢”网站上查看,它的效果非常好。我想投赞成票,但我没有足够的代表权。你可以接受@CowGoes,这更好。点击投票反感谢下方的大复选标记符号,就像一个符咒。我想投赞成票,但我没有足够的代表权。你可以接受@CowGoes,这更好。单击投票计数器下的大复选标记符号
preview = window.open(URL1, "preview", windowprops);