目标:去掉HTML上侧标栏的广告
做个Chrome的小插件
本来想做Safari的插件的,但是资料太少,似乎还需要证书……., 还是做个Chrome的算了吧。
必要的文件
Chrome插件必要的是一个manifest.json
示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30
| { // 清单文件的版本,这个必须写,而且必须是2 "manifest_version": 2, // 插件的名称 "name": "去侧边广告的", // 插件的版本 "version": "1.0.0", // 插件描述 "description": "简单的Chrome扩展demo", "content_scripts": [ { "matches": ["<all_urls>"], "js": ["jq.js","test.js"], "run_at": "document_start" } ], // 权限申请 "permissions": [ "contextMenus", // 右键菜单 "tabs", // 标签 "notifications", // 通知 "webRequest", // web请求 "webRequestBlocking", "storage", // 插件本地存储 "http://*/*", // 可以通过executeScript或者insertCSS访问的网站 "https://*/*" // 可以通过executeScript或者insertCSS访问的网站 ], // 向地址栏注册一个关键字以提供搜索建议,只能设置一个关键字 "omnibox": { "keyword" : "go" }, // devtools页面入口,注意只能指向一个HTML文件,不能是JS文件 "devtools_page": "devtools.html" }
|
其中的content_scripts是关键,我们就是通过这个test.js把HTML中的,aside隐藏
test.js代码
1 2 3 4 5 6 7 8
| document.addEventListener('DOMContentLoaded', function() { // 为了防止有js控制iframe的显示之类的问题,这里一直循环,有性能考虑的话就去掉 window.setInterval(function () { $("aside").remove(); $("iframe").remove(); },1000); });
|
此处用了jQuery,所以还需要引用文件
在Chrome中打开开发模式,引入本地已经解压的扩展程序
然后就可以了