若干秒後不操作自動關閉視窗程式的兩個坑
阿新 • • 發佈:2019-01-04
<!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的除錯方法再解決問題。