代码之家  ›  专栏  ›  技术社区  ›  Devner

PHP重定向/弹出:保留现有页面并弹出一个新选项卡

  •  0
  • Devner  · 技术社区  · 14 年前

    我了解到,我们可以在meta标记中使用以下内容,以便在所需的分钟数后重定向到另一个页面:

    <meta http-equiv="Refresh" content="10; url=http://www.example.com/" />
    

    如果可以接受从用户所在的页面导航出去的话,这是可以接受的。但我想做的是,我不想导航到另一个页面,而是想弹出一个新的浏览器选项卡/窗口,并保持现有页面的原样。我想严格地这样做 .

    举个例子。假设用户到达1.php页面。现在用户将有10分钟的时间阅读此页上的信息。10分钟后,我想弹出一个新的选项卡/窗口,指向2.php页面并显示其中包含的信息。所以在10分钟之后,我将有一个1.php页面和一个显示2.php页面的新选项卡/窗口。我不想因为用户在1.php上做什么而打扰他,因此只想弹出2.php页面。

    使用javascript/ajax?

    先谢谢你。

    如果在PHP中无法实现这一点,那么如何通过Javascript实现呢?我想启动一个popup/popunder to 2.php来实现这个功能,并让用户保持在原来的页面上。

    谢谢。

    3 回复  |  直到 14 年前
        1
  •  1
  •   Vin-G    14 年前

    如果您只想扩展用户会话(基于您的评论),那么不使用javascript的方法可能是创建一个隐藏的<iframe>指的是自动刷新并保持会话活动的页面。

    例如,在你的主页上你会看到:

    <iframe src="keepalive.php" style="visibility: hidden; width: 0px; height: 0px"></iframe>
    

    <?php
    session_start();
    $_SESSION['i_am_alive'] = "something";
    ?>
    <html>
        <head>
            <meta http-equiv="refresh" content="600" />
        </head>
        <body>OK</body>
    </html>
    

    编辑2:

        2
  •  2
  •   Lotus Notes    14 年前

    只需在php.ini中增加会话的最大超时时间,或者定期(用户无法察觉)向服务器发出AJAX请求,以保持会话的活动性。

    用户根本不希望看到突兀的弹出窗口,尤其是当用户不知道弹出窗口的用途时。

        3
  •  1
  •   Javier Parra    14 年前

    铁路超高 如果你想操纵浏览器,PHP无法处理。