我正在尝试删除由“scroller”插件添加到页面中的keydown事件处理程序。
基本上我想要的是当我使用键盘上的向下/向上箭头时,页面向下而不是应用插件的小盒子。 我尝试获取插件的实例但由于某种原因,一旦页面加载就无法使用。
另一种方法是在加载页面的脚本之前强制加载greasemonkey脚本(所以我可以使用greasemonkey删除它),但我不知道是否可能。
任何想法都会受到赞赏。
由于
答案 0 :(得分: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而不影响其他任何东西。
使用the stunningly-brilliant checkForBadJavascripts
utility阻止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);
到剧本。