2013-09-30 43 views
0

我是新來的PHP,並試圖弄清楚,如何關閉一個打開的網頁,同時保持其他網頁打開。例如,我想打開yahoo.com網頁,如下面的代碼所示。然後我想關閉這個yahoo.com頁面並打開google.com頁面。如何使用PHP關閉特定的網頁?

<?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"; 

?> 
+9

你需要學習的服務器端和客戶端之間的區別。 –

+0

這真的是一個JavaScript問題。你所有的php在這裏都在生成js。 –

回答

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 for the above code snippet

需要注意的是(一)很多瀏覽器會阻止彈出窗口,(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 for the above code snippet

+0

感謝您向我展示示例和所有細節。我能夠使用JavaScript解決它。謝謝。 –

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> 
相關問題