这里是我的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的完全空白,重新运行每一个的全部内2秒钟,当我去Facebook的新页面。
['chrome.webRequest'](http://code.google.com/chrome/extensions/webRequest.html)API可用于取消某些请求。 ['beforeload'事件](http://stackoverflow.com/questions/4395525/safari-extension-beforeload-event-documentation)可用于检测资源负载。 'DOMNodeInserted'事件可以用来检测节点插入。 – 2012-04-21 08:55:37
这[开源的Chrome扩展](https://github.com/maripo/CustomFilter)也这样做 – 2017-04-06 12:05:23