2

私は飛行機に乗っており、すべてのページ(この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を機能させることさえできません。

4

2 に答える 2

2

Greasemonkey は jQuery 1.4.4 では動作しません。

jQuery 1.3.2 を使用します。

正しい jQuery ファイルが PC にコピーされるようにするには、スクリプトをアンインストールしてから再インストールする必要があることに注意してください。

于 2010-12-23T03:06:51.677 に答える
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.querySelectorAllIE8 以降でのみ利用可能ですが、ここでは問題ありません。このスクリプトはテストされていませんが、動作するはずです。

于 2010-12-23T04:15:02.247 に答える