1

一部のWebサイトには、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;
};

ウィンドウが keypress のイベントを受け取るとき、keyup と keydown は、デフォルトの動作を防止しなければならないことを通知します。false を返すと、イベント チェーンが停止し、何も実行できなくなります。2 つの行の効果は同じです。各行にコメントを付けてみてください。

改善された例を次に示します。

<!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 に答える