1. 程式人生 > >若干秒後不操作自動關閉視窗程式的兩個坑

若干秒後不操作自動關閉視窗程式的兩個坑

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>若干秒後自動關閉視窗</title>
    <script type="text/javascript">
        var flag  = true;
        function fck() {
            flag = false;
        }
        setInterval(function () {
                if (flag)
                    window.close();
                else
                    flag = true;
            },10000);
    </script>
</head>
<body  onclick="fck()" style="text-align: center" >
    //如果使用者10秒中不操作,則關閉視窗
</body>
</html>

此程式為10秒內使用者不點選操作自動關閉視窗;

此程式需要注意的有兩點:

1.body的範圍

    此程式body的範圍只有文字區域,也就是說,如果你點選瀏覽器空白部分,無論是firefox還是chrome都不會觸發onclick事件;

2.window.close的方法

    chrome瀏覽器支援此方法,但是firefox不支援此方法,firefox的此方法值能關閉又open方法開啟的視窗,而不能直接關閉父視窗。

方法論:

    程式出問題時應該迅速意識到問題的節點然後解決,比如這道題

        1.首先用firefox開啟後,不能關閉,此時就應該檢查close函式在哪裡出了問題。

        2.用chrome瀏覽器開啟後,可以關閉但是點選左鍵後也不能延續視窗存活時間,此時就應該檢查onclik事件哪裡出了問題。

    不能懶,自己就因為懶的百度上面所說的兩個問題點,而選擇了百度javascript的除錯方法再解決問題。