油猴子腳本-過濾百度廣告


近期梯子不是很穩定,在家辦公時網絡也很差,bing 的搜索效果也差強人意,勉強用用百度吧,但是廣告又特別惡心人。

工具介紹

本人使用的是 chrome 插件的 FeHelper 提供的網頁油猴子工具

var hiddenSelector = [
  // 百度搜索
  '#content_right',
  '#content_left [style="display:block !important;visibility:visible !important"]',
  
  // 百度貼吧
  '#j_p_postlist [ad-dom-img]',
];

for (let i = 0; i < hiddenSelector.length; i++) {
  $(hiddenSelector[i]).css({
  	'display': 'none',
    'width': '0',
    'height': '0 '
  })
}

保存並啟用!

百度真的是雞賊,給廣告元素的標識藏的還真的深,努力的想讓自己的廣告標簽弄的和正常的內容差不多。

這選擇器還讓我寫的挺惡心 '#content_left [style="display:block !important;visibility:visible !important"]',再見了您吶。

完善過程

保存生效此代碼,但發現還是又些不足,百度在請求結束后又插入了一堆非常難以直接用 css 直接選擇出來的小型廣告,如下圖:

那么給代碼設置一個定時器吧。

var hiddenSelector = [
  // 百度搜索
  '#content_right',
  '#content_left [style="display:block !important;visibility:visible !important"]',
  
  // 百度貼吧
  '#j_p_postlist [ad-dom-img]',
];

var hiddenSubSelector = [
  // 百度搜索
  {
  	'name': '#content_left .ec_tuiguang_pplink',
    'depth': 2
  }
];

for (let i = 0; i < hiddenSelector.length; i++) {
  $(hiddenSelector[i]).css({
  	'display': 'none',
    'width': '0',
    'height': '0 '
  })
}

// 定時清除8次,每1秒一次。
var times = 8;

var timer = setInterval(function () {
  if (times === 0) {
  	timer = null;
  }
  for (let i = 0; i < hiddenSubSelector.length; i++) {
    let $dom = $(hiddenSubSelector[i].name)
    for (let j = 0; j < hiddenSubSelector[i].depth; j++) {
      $dom = $dom.parent();
    }
    $dom.css({
      'display': 'none',
      'width': '0',
      'height': '0 '
    })
  }
  times = times - 1;
}, 1000)

十分難選的東西,就只好先選它的廣告標簽,然后再返回來選它的父級了。

最終效果就是去掉了搜索頁的所有廣告。

心得

我嘗試過直接寫 chrome 插件注入 css 和 js 去清除廣告,效果雖然不錯但是挺麻煩的。

也試過其他人的油猴子腳本,但效果也是差強人意。。總之自己寫個簡單的東西滿足自己的需要是個不錯的選擇。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM