一、起因

一直使用 Tampermonkey 中的

AC-baidu-重定向优化百度搜狗谷歌必应搜索_fav_双列

这个插件屏蔽好好的,今天突然屏蔽不了,正好自己编写一个简单的插件试试完成这一效果,如下图

二、过程
  • Tampermonkey 版本 v4.11
content_rightdisplaynone
  • name 指代你的脚本名称
  • namespace 命名空间,可以用你自定义名称
  • version 脚本当前版本,这样别人如果使用了你的脚本,还可以及时更新
  • description 脚本的描述
  • author 作者名
  • match 脚本在匹配到什么url 时才触发生效
// ==UserScript==
// @name        自定义的屏蔽百度搜索结果中右侧百度热榜
// @namespace    http://tampermonkey.net/
// @version      0.1
// @description  屏蔽百度搜索的百度热榜
// @author        mizuhokaga
// @match        *://www.baidu.com/*
// @grant        none
// ==/UserScript==

(function() {
	//1.原生js写法
   //let content_right=document.getElementById("content_right");
   //if(content_right!=null){ content_right.style.display="none";}
	//2.jQuery写法,油猴现在已经支持jQuery了
	 $('#content_right').hide();
})();
@match*
三、场后反思

问题:

  1. 能不能更加精准的匹配的 url 吗?
  2. 测试效果后发现,网页还是先会出现百度热榜再消失,即闪屏现象,如何解决?
四、解决提出的问题

这里匹配 url 无关紧要,所以只需要解决第二个问题,闪屏的问题很容易想到是百度在这里做了异步加载,所以思路基本有了:我们需要监听页面变化事件,然后判断有没有该网页元素再是否隐藏。