删除服务器端生成的横幅广告 - Greasemonkey

时间:2010-12-23 02:29:39

标签: javascript jquery greasemonkey adblock

我正在飞机飞行,他们强迫每一页(包括此Stack Overflow页面)在其顶部放置横幅广告。

以下是我在Firefox中使用UserScript的代码,但它不起作用:

// ==UserScript==
// @name           SW Ad remover
// @namespace      seangates.com/sw_ad_remover
// @include        *
// @require        https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js
// ==/UserScript==

$(document).ready(function(){
 $('script[src$="swa.py"]').remove();
 $('div[id^="__swa"]').hide();
 $('body').css('padding',0);

 console.log('working');
});

有关为什么这不起作用的任何想法?即使我把它放在ready()块的开头,我甚至无法使console.log工作。

2 个答案:

答案 0 :(得分:2)

Greasemonkey does not work with jQuery 1.4.4.

使用jQuery 1.3.2。

请注意,您必须先卸载然后重新安装脚本,以确保将正确的jQuery文件复制到PC中。

答案 1 :(得分:0)

当然,这里总是可以选择不使用jQuery,因为只有Greasemonkey实现了@require规则。

var s = document.querySelectorAll('script[src$="swa.py"]'), 
    d = document.querySelectorAll('div[id^="__swa"]'); 

for(var i = 0; i < s.length; i++){
    s[i].parentNode.removeChild(s[i]);
}

for(i = 0; i < d.length; i++){
    d[i].style.display = 'none';
}

document.body.style.padding = '0px';

document.querySelectorAll仅适用于IE8及更高版本,但这里没问题。此脚本尚未测试,但应该可以正常运行。