0

我是 php 新手并试图弄清楚,如何在保持其他网页打开的同时关闭打开的网页。例如,我想打开 yahoo.com 网页,如下面的代码所示。然后我想关闭这个 yahoo.com 页面并打开 google.com 页面。

<?php

//To open yahoo.com page
echo '<script type="text/javascript" language="javascript"> 
window.open("http://www.yahoo.com/"); 
</script>'; 

//How can I close the yahoo.com page and let the program keep running
echo "<script>window.close();</script>";
sleep(10);

//To open google.com page
echo '<script type="text/javascript" language="javascript"> 
window.open("http://www.google.com/"); 
</script>'; 

echo "Done";

?>
4

2 回答 2

3

这确实是一个 JavaScript 问题。您从 PHP 中回显脚本标签这一事实对答案没有影响。

的返回值window.open是您创建的窗口的句柄。如果您存储它,您可以稍后将其关闭:

var w = window.open("http://www.yahoo.com/");  // Opens window with yahoo.com
w.close();                                     // Closes window with yahoo.com

上面代码片段的 jsFiddle

请注意(a)许多浏览器会阻止弹出窗口,(b)它会在打开后立即关闭窗口。如果您想在两者之间睡觉,请使用 JavaScript 的setTimeout方法:

var w = window.open("http://www.yahoo.com/");  // Opens window with yahoo.com
setTimeout(function() { w.close() }, 1000);    // Closes window with yahoo.com after waiting 1000 milliseconds

上面代码片段的 jsFiddle

于 2013-09-30T22:38:31.070 回答
0

简单的例子

<!DOCTYPE html>
    <html>
    <head>
    <script>
    function openWind()
    {
    myWindow=window.open("http://www.yahoo.com/","","width=1000,height=500");
    }

    function closeWind()
    {
    myWindow.close();
    }
    </script>
    </head>
    <body>

    <input type="button" value="Open 'myWindow'" onclick="openWind()" />
    <input type="button" value="Close 'myWindow'" onclick="closeWind()" />

    </body>
    </html>
于 2013-09-30T22:37:30.437 回答