一些网站使用一些 JS 魔法具有令人讨厌的自动刷新质量。这似乎绕过了浏览器的“不自动刷新”选项。
我的问题 - 有没有一种简单的方法告诉浏览器(也通过 JS,在附加组件中)“不要听他们的!永远不要自动刷新!”?
编辑:只是为了让自己清楚-我想编写一个浏览器扩展程序,以防止当前页面发出“刷新”信号-无论是自动刷新还是页面使用某些计时器自动给出的“标准”刷新。我认为这是一个标准的JS问题......
一些网站使用一些 JS 魔法具有令人讨厌的自动刷新质量。这似乎绕过了浏览器的“不自动刷新”选项。
我的问题 - 有没有一种简单的方法告诉浏览器(也通过 JS,在附加组件中)“不要听他们的!永远不要自动刷新!”?
编辑:只是为了让自己清楚-我想编写一个浏览器扩展程序,以防止当前页面发出“刷新”信号-无论是自动刷新还是页面使用某些计时器自动给出的“标准”刷新。我认为这是一个标准的JS问题......
除 Chrome 和 Safari 外,所有流行的浏览器都已提供与禁用自动刷新相关的选项。要在这些浏览器中禁用自动刷新,请查看这篇文章: http: //maketecheasier.com/disable-web-page-auto-refresh-for-various-browsers/2010/12/12
有关停止自动刷新的 Chrome 扩展,请查看:https ://chrome.google.com/webstore/detail/lcldcllmbokpbniijpnkpgoboadbfphb
编辑:对不起,我误解了这个问题!
我认为您需要的是:
window.onkeypress = window.onkeyup = window.onkeydown = function( event ) {
event.preventDefault();
// or, in this case:
//return false;
};
当窗口将接收到按键事件时, keyup e keydown 表示必须阻止默认行为。如果您返回 false,您将停止事件链,从而阻止执行任何操作。这两行有相同的效果,请尝试注释每一行。
这是一个改进的例子:
<!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>
每个浏览器都可以关闭此功能,但我认为除非您编写“扩展”,否则无法通过 JS 影响这些更改。