我正在尝试删除由"滚动器"插件添加到页面中的键下事件处理程序。
页面是这样的:http://www.nacion.com/2012-05-15/Mundo/nobel-de-economia-cree-posible-pronta-desaparicion-de-zona-euro-.aspx
基本上,我希望当我使用键盘上的向下/向上箭头时,页面会向下,而不是应用插件的小框。我尝试获取插件的实例,但由于某种原因,一旦加载页面,它就不可用。
另一种方法是在加载页面中的脚本之前强制加载 greasemonkey 脚本(这样我就可以使用 greasemonkey 删除它),但我不知道这是否可能。
任何想法将不胜感激。
谢谢
该页面似乎使用了jQueryTOOLS可滚动的自定义或错误实现。
糟糕的 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);
到脚本。