一些網站使用一些JS魔法具有惱人的自動刷新質量。這似乎繞過了瀏覽器的「不自動刷新」選項。防止網站刷新使用JS
我的問題 - 是否有一種簡單的方式告訴瀏覽器(也通過JS,在附加組件中)「不要聽他們!永遠不會自動刷新!」?
編輯:只是爲了讓自己清楚 - 我想寫一個瀏覽器擴展,防止當前頁面發出「刷新」信號 - 無論自動刷新還是標準刷新由頁面使用某些定時器自動給定。我認爲這是一個標準的JS問題...
一些網站使用一些JS魔法具有惱人的自動刷新質量。這似乎繞過了瀏覽器的「不自動刷新」選項。防止網站刷新使用JS
我的問題 - 是否有一種簡單的方式告訴瀏覽器(也通過JS,在附加組件中)「不要聽他們!永遠不會自動刷新!」?
編輯:只是爲了讓自己清楚 - 我想寫一個瀏覽器擴展,防止當前頁面發出「刷新」信號 - 無論自動刷新還是標準刷新由頁面使用某些定時器自動給定。我認爲這是一個標準的JS問題...
編輯:對不起,我誤解了這個問題!
我認爲你需要的是這樣的:
window.onkeypress = window.onkeyup = window.onkeydown = function(event) {
event.preventDefault();
// or, in this case:
//return false;
};
當窗口會收到必須防止默認行爲按鍵的事件,KEYUPēKEYDOWN信號。如果您返回false,您將停止事件鏈,阻止執行任何操作。這兩條線具有相同的效果,請嘗試評論每一行。
這裏是一個improoved例如:
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Testing...</title>
</head>
<body>
<div id="clickDiv">Click me ;)</div>
<br/>
<input id="typeInput" value="Type something ! (here)"/>
</body>
<script type="text/javascript">
window.onkeypress = window.onkeyup = window.onkeydown = function(event) {
event.preventDefault();
return false;
};
document.getElementById("clickDiv").onclick = function(event) {
console.log("you clicked me and the window events related to the keyboard are still being prevented ;)");
};
document.getElementById("typeInput").onkeyup = function(event) {
console.log("you typed inside me and the window events related to the keyboard are still being prevented ;)");
};
</script>
</html>
從某種意義上說,這是一個「覆蓋」(就像在C++中重載一個+運算符) - 我沒有看到它將如何防止「自動刷新」。得到的代碼:)? – 2012-07-20 05:49:09
@DaneBalia:我錯過了這個問題......對不起。 – davidbuzatto 2012-07-20 05:51:28
除Chrome和Safari之外,所有流行的瀏覽器都有與禁用自動刷新相關的選項。要禁用自動刷新在這些瀏覽器,看看這篇文章:http://maketecheasier.com/disable-web-page-auto-refresh-for-various-browsers/2010/12/12
對於Chrome擴展程序,停止自動刷新,檢查了這一點:https://chrome.google.com/webstore/detail/lcldcllmbokpbniijpnkpgoboadbfphb
我已經閱讀過第一個鏈接。問題在於,它不適用於某些基於JS的自動刷新(它不是「純粹的」自動刷新;只是JS告訴瀏覽器刷新)。 – 2012-07-20 05:34:50
每個瀏覽器都可以有這個功能turned off但我不認爲有一種方法可以通過JS來影響這些變化,除非你寫了一個「Extension」。
Chrome和Safari沒有關閉此功能的選項。 – jeff 2012-07-20 05:28:03
正確!這會讓你感到困惑,我看到你在我面前回答。 – 2012-07-20 05:44:53
這將是超級用戶或類似的網站一個更好的問題。 – btown 2012-07-20 05:29:09