-1

「scroller」プラグインによってページに追加された keydown イベント ハンドラーを削除しようとしています。

ページは次のとおりです

基本的に、キーボードで下/上矢印を使用すると、プラグインが適用される小さなボックスの代わりにページがダウンすることを望みます。プラグインのインスタンスを取得しようとしましたが、何らかの理由で、ページが読み込まれると利用できません。

別のアプローチは、ページからのスクリプトがロードされる前にグリースモンキースクリプトを強制的にロードすることです (グリースモンキーを使用して削除できます) が、それが可能かどうかはわかりません。

任意のアイデアをいただければ幸いです。

ありがとう

4

1 に答える 1

0

そのページは、 jQueryTOOLS Scrollableのカスタムまたはバグのある実装を使用しているようです。

お粗末な UI エクスペリエンスは、メイン ページの次のコードによってトリガーされます。

<script>
    // initialize scrollable para ademas
    jQuery(document).ready(function() {
        $("div.scroller_ademas").scrollable({
            size: 1,
            items: '#ademasaldea',
            vertical: true
        }).mousewheel({
            items: '#ademasaldea'
        });
    });
</script>

そして、機能するはずのすべてのunbind()呼び出しとkeyboard = falseセットは、キーボードの乗っ取りには影響しません!

幸いなことに、問題<script>はかなりアトミックであるため、Greasemonkey は問題のある JS を他に影響を与えることなくブロックできます。

驚くほど優れたcheckForBadJavascriptsユーティリティを使用して JS をブロックします。

そのようです:

// ==UserScript==
// @name        _Block scrollable that's run amuck.
// @namespace   _pc
// @include     http://www.nacion.com/*
// @run-at      document-start
// @require     https://gist.github.com/raw/2620135/checkForBadJavascripts.js
// ==/UserScript==

checkForBadJavascripts ( [
    [false, /items\:\s+'\#ademasaldea'/, null]
] );

これにより、「Ademas en El Mundo」ボックスもスクロールできなくなりますが、追加することで修正できます。

window.addEventListener ("load", function () {
    GM_addStyle ('#ademasaldea { height: 100%; overflow-y: scroll; }');
}, false);

スクリプトに。

于 2012-05-16T05:33:39.027 に答える