Удалить серверные рекламные баннеры - Greasemonkey - PullRequest
2 голосов
/ 23 декабря 2010

Я нахожусь в полете самолета, и они заставляют каждую страницу (включая эту страницу переполнения стека) иметь баннер вверху с их рекламой на нем.

Вот код, который я имею для моего UserScriptв Firefox, но он не работает:

// ==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');
});

Есть мысли о том, почему это не будет работать?Я даже не могу заставить работать console.log, даже если я помещаю его в начало блока ready ().

Ответы [ 2 ]

2 голосов
/ 23 декабря 2010

Greasemonkey не работает с jQuery 1.4.4.

Используйте jQuery 1.3.2.

Обратите внимание, что вам придется удалить, а затем переустановить скрипт, чтобы убедиться, что на ваш компьютер скопирован правильный файл jQuery.

0 голосов
/ 23 декабря 2010

И, конечно, здесь всегда есть возможность не использовать 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 и выше, но здесь все в порядке. Этот скрипт не проверен, но он должен работать.

...