-1

我正在尝试删除由“滚动”插件添加到页面中的 keydown 事件处理程序。

该页面是这样的:http: //www.nacion.com/2012-05-15/Mundo/nobel-de-economia-cree-posible-pronta-desaparicion-de-zona-euro-.aspx

基本上我希望当我使用键盘上的向下/向上箭头时,页面会向下而不是应用插件的小框。我尝试获取插件的实例,但由于某种原因,一旦加载页面,它就无法使用。

另一种方法是在加载页面脚本之前强制加载greasemonkey脚本(这样我可以使用greasemonkey将其删除)但我不知道这是否可能。

任何想法将不胜感激。

谢谢

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 回答