文档章节

简单Chrome去广告插件源码

ironspwang
 ironspwang
发布于 2017/05/04 15:25
字数 307
阅读 20
收藏 0
点赞 0
评论 0

插件结构

插件由三部分组成:

manifest.json内容:

{
   "content_scripts": [ {
      "js": ["purepage.js"],
      "matches": [ "<all_urls>" ]
   } ],
   "description": "Remove most irrelevant elements in blogs or forums. Create by whk. Update at 2017/4/6. All Rights Reserved.",
   "manifest_version": 2,
   "name": "Pure Page",
   "version": "1.2.0",
   "browser_action": { 
      "default_icon": "icon.bmp",
      "default_title": "Pure Page"
   }
}

purepage.js内容:

/**
更新说明:

V1.1.0 2017/2/17: 重构判断是否过滤的代码,增加白名单,黑名单以及模糊黑名单
V1.2.0 2017/4/6: 即使页面没加载完毕,也会在2秒之后隐藏广告,避免某些网站因为加载慢而一直不隐藏

 */
var hostname = window.location.hostname;
var fun;
if (needPure(hostname)) {
	fun = function() {
		var ads = document.getElementsByTagName('iframe');
		for (var i = 0; i < ads.length; i++) {
			ads[i].style.visibility="hidden";
		}
	}
	window.onload = fun;
	setTimeout(fun, 2000);
};

function needPure(host) {
	var whilt_list = new Array("www.treejs.cn");
	for (var i = 0; i < whilt_list.length; i++) {
		if(host == whilt_list[i]) {
			return false;
		}
	}
	var black_list = new Array();
	for (var i = 0; i < black_list.length; i++) {
		if(host == black_list[i]) {
			return true;
		}
	};
	var check_list = new Array(".com",".cn",".net");
	for (var i = 0; i < check_list.length; i++) {
		if(host.search(check_list[i])>0) {
			return true;
		}
	};
	return false;
}

图片随便找个128*128或者更小的。

使用方法

  1. 将三个文件准备好,放在文件夹PurePage下
  2. 打开Chrome的扩展程序页面
  3. 点击打包扩展程序,选择PurePage文件夹
  4. 点击“打包”
  5. 将生成的文件拖到该页面即可使用

© 著作权归作者所有

共有 人打赏支持
ironspwang
粉丝 0
博文 13
码字总数 20236
作品 0
杭州
程序员
puppeteer入门及实践(1)

前面写过的phantomJs,研究几天后发现phantomJs虽然在业内有一定的影响力,但后继乏力,主要还是缺乏维护人员,导致项目依赖的chrome内核版本太低,无人解决的BUG太多(1000+),现在这个环境...

子非鱼_fish ⋅ 06/02 ⋅ 0

没有插件的 Chrome 是不完整的,推荐几个常用的插件,功能很强大

没有使用插件的 Chrome 是不完美的。 有人说没有使用插件的 Chrome 只发挥了一半的功力。 今天给大家推荐几个经常用到的插件,可以免费看 VIP 视频、可以下载视频、下载音乐,非常的方便。 ...

我是徐老师呀 ⋅ 04/05 ⋅ 0

pwa+webpack,初探与踩坑

0.前言 我们都知道pwa是一个新技术.,依靠缓存,离线了还能正常跑,而且秒开。我把以前原生写的小游戏迁移到react,再迁移到webpack+react,最后再升级到pwa。具体介绍不多说,我们开始撸吧。...

lhyt ⋅ 05/21 ⋅ 0

API & HTTP 请求调试插件(Postman)

简述 Postman 是一个 Chrome 扩展,提供功能强大的 Web API & HTTP 请求调试。它能够发送任何类型的 HTTP 请求(GET、HEAD、POST、PUT..),附带任何数量的参数 + headers。 支持不同的认证机制...

潘志闻 ⋅ 2016/05/19 ⋅ 0

Chrome添加插件Vue.js devtools

1、首先在github下载devtools源码,地址:https://github.com/vuejs/vue-devtools 2、然后进入vue-devtools,npm install下载依赖,然后执行npm run build,编译源程序 3、修改shells目录下c...

灰白发 ⋅ 05/08 ⋅ 0

Chrome常用URL命令(伪URL)

在Chrome地址栏输入chrome://chrome-urls/可以看到所有的Chrome支持的伪RUL 1、chrome://accessibility/ 可达性分析,默认是关闭的,点击accessibility off后变成accessibility on|show acc...

easonjim ⋅ 2017/11/22 ⋅ 0

去除CSDN 博客页广告的历程

作为CSDN的忠实用户,我觉得它挺不错的。美中不足的是广告,虽然相比于微博啊,开源中国啊这些博客站点,它的广告已经算是很少的了。但还是会让博主有点尴尬,毕竟强迫症不是一天两天就能治好...

郭璞 ⋅ 2016/10/06 ⋅ 0

Google Chrome浏览器中如何使用命令

Google Chrome浏览器中如何使用命令 | 浏览:2974 | 更新:2014-02-23 23:12 | 标签:chrome 分步阅读 方法/步骤

thinkyoung ⋅ 2015/11/06 ⋅ 0

恶意软件的小伎俩,伪装成Cloudflare页面默默挖矿

  FileTour是一种广告软件,通常作为游戏和其他软件的破解或欺骗手段传播。这个软件包是界定于广告软件和PUP以及更危险的计算机感染类型(如密码窃取木马和矿工)之间,也因此而臭名昭著。...

FreeBuf ⋅ 05/22 ⋅ 0

以太坊MetaMask钱包插件简介

MetaMask是一个以太坊钱包插件,虽然只能在Chrome浏览器中使用,但作为以太坊钱包的metamask却很受以太坊开发者欢迎。 MetaMask 评价(5★): 安装设置:★★★★ 界面操作:★★★★ 备份方...

笔阁 ⋅ 04/23 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

聊聊spring cloud gateway的LoadBalancerClientFilter

序 本文主要研究一下spring cloud gateway的LoadBalancerClientFilter GatewayLoadBalancerClientAutoConfiguration spring-cloud-gateway-core-2.0.0.RELEASE-sources.jar!/org/springfram......

go4it ⋅ 42分钟前 ⋅ 0

详解:Nginx反代实现Kibana登录认证功能

Kibana 5.5 版后,已不支持认证功能,也就是说,直接打开页面就能管理,想想都不安全,不过官方提供了 X-Pack 认证,但有时间限制。毕竟X-Pack是商业版。 下面我将操作如何使用Nginx反向代理...

问题终结者 ⋅ 49分钟前 ⋅ 0

002、nginx配置虚拟主机

一、nginx配置虚拟主机可分为三种方式,分别为: 1、基于域名的虚拟主机,通过域名来区分虚拟主机——应用:外部网站 2、基于端口的虚拟主机,通过端口来区分虚拟主机——应用:公司内部网站...

北岩 ⋅ 52分钟前 ⋅ 0

shell脚本之死循环写法

最近在学习写shell脚本,在练习if while等流程控制时,突然它们的死循环写法是怎么样的?经过百度与亲测记录如下: for死循环 #! /bin/bashfor ((;;));do date sleep 1d...

hensemlee ⋅ 54分钟前 ⋅ 0

苹果的ARKit2.0有多可怕,看了就知道

序言 ARKit主要由三部分组成: 跟踪(Tracking) 跟踪是ARKit的核心组件之一,其提供了设备在物理世界中的位置与方向信息,并对物体进行跟踪,如人脸。 2.场景理解(Scene Understanding) 场...

_小迷糊 ⋅ 55分钟前 ⋅ 0

5.1 vim介绍 5.2 vim移动光标 5.3 ,5.4vim一般模式下移动光标,复制粘贴

vim命令 vim是vi的一个升级版;vim可以显示文字的颜色 安装vim这一个包vim-enhanced 如果不知道安装包,可以使用 命令下面命令来查看vim命令是那个包安装的。 [root@linux-128 ~]# yum prov...

Linux_老吴 ⋅ 59分钟前 ⋅ 0

vim一般模式

vim 是什么 vim是什么 ? 在之前接触Linux,编辑网卡配置文件的时候我们用过了vi ,vim简单说就是vi的升级版,它跟vi一样是Linux系统中的一个文本编辑工具。 如果系统中没有vim ,需要安装一...

李超小牛子 ⋅ 今天 ⋅ 0

docker实战

构建企业级Docker虚拟化平台实战 重点剖析虚拟化和云计算概念; 分析Docker虚拟化的概念和原理; 从0开始实战Docker虚拟化平台; 基于Docker构建Nginx WEB服务器和CentOS虚拟机; 基于开源监...

寰宇01 ⋅ 今天 ⋅ 0

vim介绍、vim颜色显示和移动光标、vim一般模式下移动光标、一般模式下复制粘贴剪切

VIM Vim 是 UNIX 文本编辑器 Vi 的加强版本,加入了更多特性来帮助编辑源代码。Vim 的部分增强功能包括文件比较(vimdiff),语法高亮,全面的帮助系统,本地脚本(Vimscript),和便于选择的...

蛋黄Yolks ⋅ 今天 ⋅ 0

springboot+mockito测试controller层遇到的问题

使用MockitoJUnitRunner测试的一个例子,原来报错无法找到bean, 类似的异常如下:createBeanError..... 原因:是因为@Runwith使用了SpringRunner,应该修改为MockitoJUnitRunner 代码如下: ...

writeademo ⋅ 今天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部