Javascript 防止使用JS刷新站点
一些网站使用一些JS魔术自动刷新,这让人恼火。这似乎绕过了浏览器的“不自动刷新”选项 我的问题是——有没有一种简单的方法可以告诉浏览器也通过JS,在一个附加组件中不要听他们的!从不自动刷新Javascript 防止使用JS刷新站点,javascript,browser,Javascript,Browser,一些网站使用一些JS魔术自动刷新,这让人恼火。这似乎绕过了浏览器的“不自动刷新”选项 我的问题是——有没有一种简单的方法可以告诉浏览器也通过JS,在一个附加组件中不要听他们的!从不自动刷新 编辑:只是让我自己清楚一点-我想写一个浏览器扩展,防止当前页面发出刷新信号-无论是自动刷新还是标准刷新由页面使用一些定时器自动给出。我认为这是一个标准的JS问题…除了Chrome和Safari之外,所有流行浏览器都已经有了与禁用自动刷新相关的选项。要在这些浏览器中禁用自动刷新,请参阅本文: 对于停止自动刷新的
编辑:只是让我自己清楚一点-我想写一个浏览器扩展,防止当前页面发出刷新信号-无论是自动刷新还是标准刷新由页面使用一些定时器自动给出。我认为这是一个标准的JS问题…除了Chrome和Safari之外,所有流行浏览器都已经有了与禁用自动刷新相关的选项。要在这些浏览器中禁用自动刷新,请参阅本文:
对于停止自动刷新的Chrome扩展,请检查以下内容:每个浏览器都可以使用此功能,但我认为除非您编写扩展,否则没有办法通过JS影响这些更改。编辑:抱歉,我误解了这个问题 我认为你需要的是:
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>
Chrome和Safari没有关闭此功能的选项。正确!我看到你比我先回答了。这对超级用户或类似网站来说是个更好的问题。我已经阅读了第一个链接。问题是,它对一些JS基自动刷新不起作用,这些自动刷新不是纯自动刷新;只是JS告诉浏览器刷新。这是一个重载,在某种意义上,比如在C++中重载A+操作符,我不知道它如何能够防止自动刷新。密码:?@DaneBalia:我搞错问题了。。。很抱歉