2010-12-23 72 views
2

我在飛機航班上,他們強制每個頁面(包括此堆棧溢出頁面)在其頂部都有一個橫幅廣告。刪除服務器端生成的橫幅廣告 - Greasemonkey

這裏是我爲我在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

PS:[Adblock Plus](https://addons.mozilla.org/en-US/firefox/addon/1865/)是一個踢屁股附加組件,應該也適用於此。 – 2010-12-23 03:37:37

+0

我已經可以阻止廣告了,但是我仍然會在我訪問過的任何頁面的頂部以航空公司的徽標等獲得一個大型橫幅廣告。我幾天後都沒有機會再次測試此廣告,但會讓您知道我什麼時候做。謝謝您的幫助! – seangates 2010-12-27 23:25:50

回答

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及更高版本,不過沒關係,在這裏。這個腳本沒有測試過,但它應該可以工作。