2012-04-21 6 views
1

私はこれを可能な限り単純な方法でやりたいと思っています。基本的には、YouTubeのコメントブロッカーについて以前に行われたこととは異なる取り組みをしたいと思いますが、実際に自分の拡張機能でコメントをブロックする方法を理解することはできません。私は限られたHTML/CSS/JavaScriptを知っていますが、私はどこから始めるべきか分かりません。私はすでにどの要素をページから一貫して削除する必要があるのか​​を知っていますが、クロムを隠すように指示する方法はわかりません。エクステンションでページ上の要素をブロックするにはどうすればよいですか?

編集:可能であれば、HTMLの特定のセクションを<div>に基づいてブログしたいと思います。ここで

+1

[chrome.webRequest'](http://code.google.com/chrome/extensions/webRequest.html)APIを使用して特定のリクエストをキャンセルできます。 ['beforeload'イベント](http://stackoverflow.com/questions/4395525/safari-extension-beforeload-event-documentation)を使用してリソースの負荷を検出できます。 DOMNodeInsertedイベントは、ノードの挿入を検出するために使用できます。 –

+1

この[opensource chrome extension](https://github.com/maripo/CustomFilter)も同様です –

答えて

4

は私のFacebookの広告ディセーブラです:

manifest.jsonを

{ 
    "name": "Facebook Ads Disabler", 
    "version": "0.0.1", 
    "description": "Disable side ads on facebook! By Alexander Piechowski.", 
    "content_scripts": [ 
    { 
     "matches": [ 
     "http://*.facebook.com/*","https://*.facebook.com/*"], 
     "js": ["main.js"], 
     "run_at": "document_end", 
     "all_frames": true 
    } 
    ] 
} 

main.js

function remove(){ 
try 
    { 
    document.getElementById('pagelet_ego_pane_w').innerHTML = ''; 
    } 
catch(err) 
    { 
    //Skip if "pagelet_ego_pane_w" div tag isn't on this page 
    } 
    try 
    { 
     document.getElementById('pagelet_ego_pane').innerHTML = ''; 
    } 
catch(err) 
    { 
    //Skip if "pagelet_ego_pane" div tag isn't on this page 
    } 
    try 
    { 
     document.getElementById('pagelet_side_ads').innerHTML = ''; 
    } 
catch(err) 
    { 
    //Skip if "pagelet_side_ads" div tag isn't on this page 
    } 
     try 
    { 
     document.getElementById('fbPhotoSnowliftAdsSide').innerHTML = ''; 
    } 
catch(err) 
    { 
    //Skip if "fbPhotoSnowliftAdsSide" div tag isn't on this page 
    } 
console.log('All ads have been removed.'); 
setTimeout(function(){remove();},2000); 
} 
remove(); 

これは、すべてのIDの完全に空白の内側と再実行するすべてのを作ります私がFacebook内の新しいページに行くときの2秒。

関連する問題