1

一些网站使用一些 JS 魔法具有令人讨厌的自动刷新质量。这似乎绕过了浏览器的“不自动刷新”选项。

我的问题 - 有没有一种简单的方法告诉浏览器(也通过 JS,在附加组件中)“不要听他们的!永远不要自动刷新!”?

编辑:只是为了让自己清楚-我想编写一个浏览器扩展程序,以防止当前页面发出“刷新”信号-无论是自动刷新还是页面使用某些计时器自动给出的“标准”刷新。我认为这是一个标准的JS问题......

4

3 回答 3

0

除 Chrome 和 Safari 外,所有流行的浏览器都已提供与禁用自动刷新相关的选项。要在这些浏览器中禁用自动刷新,请查看这篇文章: http: //maketecheasier.com/disable-web-page-auto-refresh-for-various-browsers/2010/12/12

有关停止自动刷新的 Chrome 扩展,请查看:https ://chrome.google.com/webstore/detail/lcldcllmbokpbniijpnkpgoboadbfphb

于 2012-07-20T05:24:52.197 回答
0

编辑:对不起,我误解了这个问题!

我认为您需要的是:

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>
于 2012-07-20T05:40:33.470 回答
-1

每个浏览器都可以关闭此功能,但我认为除非您编写“扩展”,否则无法通过 JS 影响这些更改。

于 2012-07-20T05:26:49.000 回答