1
A
回答
1
您可以創建一個會話變量(日期和時間),並將其存儲在localStorage的。在window.load上檢查它,如果存在,則關閉窗口,或者防止進一步加載。
編輯:
我創建了一個完整的解決方案,也許我會發現在未來的一段使用它:
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>test</title>
<script>
(function() {
var interval = 10000; //can be modified to be faster, now it's 10 seconds
// localStorage is available everywhere
// sessionStorage is available only in current page/tab,
// so we can allow page refresh
if (localStorage.getItem("catch") && !sessionStorage.getItem("catch")) {
var date = new Date(parseInt(localStorage.getItem("catch"), 10));
if (Date.now() - date < interval) {
//prevent further loading, hide things etc.
document.write('catch');
}
} else {
setInterval(function() {
var date = Date.now();
localStorage.setItem("catch", date);
sessionStorage.setItem("catch", date);
}, interval);
}
})();
</script>
</head>
<body>
</body>
</html>
1
我能想象用餅乾或localStorage的一個解決方案:
- 上網負載:
- 檢查是否
X
作爲cookie或localStorage存在。如果存在,則顯示錯誤並重定向到錯誤頁面。 - 如果
X
不存在,請繼續。
- 檢查是否
- Onload onload(
window.unload
andwindow.onbeforeunload
events)removeX
。
相關問題
- 1. 防止Web應用程序
- 2. 防止用戶打開多個窗口到同一個web應用程序
- 3. 防止iPhone從web應用程序
- 4. 多個SQL Server連接到我的ASP.NET Web應用程序
- 5. 防止我的應用程序的多個實例
- 6. 防止登錄攻擊我的春天的web應用程序
- 7. 如何防止我的應用程序
- 8. 通過編程防止登錄到Web應用程序
- 9. 防止應用程序接收按鍵
- 10. 防止我的應用程序中的servlet的多重訪問
- 11. 如何防止代碼/程序訪問Web應用程序?
- 12. 連接到MVC Web應用程序中的多個數據庫
- 13. 連接到多個Web應用程序的Signalr
- 14. 防止.NET中給定應用程序的多個實例?
- 15. 防止啓動Java應用程序的多個實例
- 16. 如何防止Windows 10 XAML應用程序的多個實例?
- 17. 防止GTK應用程序的多個實例
- 18. 防止打開VB應用程序的多個實例
- 19. 防止Android應用程序開放的多個實例
- 20. 防止應用程序的多個實例
- 21. 阻止特定的Android應用程序連接到互聯網
- 22. 防止應用程序崩潰,當我打開多任務
- 23. 當使用ajax防止在asp.net web應用程序中的CSRF
- 24. 如何防止其他應用程序連接到SQL Server?
- 25. 如何防止我的macOS應用程序同時運行多個實例?
- 26. 防止Web應用程序中的CSS衝突
- 27. 防止Web應用程序中的其他觸動
- 28. 如何防止Web應用程序中的競爭條件
- 29. 顯示我的應用程序是否可以連接到互聯網或被防火牆阻止?
- 30. 如何防止用戶控件在我的web應用程序中被緩存
我已經做了使用cookie,但當瀏覽器崩潰(不要去window.unload)的cookie不會刪除.. – wawanopoulos
這就是爲什麼我說要存儲日期時間,如果它不是最近,它意味着window.unload沒有運行在過去,但你仍然可以讓他們進來。 – Rudy
魯迪,你能解釋一步一步的解決方案嗎? – wawanopoulos