首先年扩,CSDN的廣告實(shí)在是讓人受不了,有廣告也行宿亡,別老動(dòng)啊常遂,不斷輪播,煩死,它老是考驗(yàn)?zāi)愕淖⒁饬烁欤∷砸朕k法屏蔽它平绩!
首選方法,啟用 adblock 插件漠另,這個(gè)很有名捏雌。我用的是QQ瀏覽器,估計(jì)其他瀏覽器都可以用笆搓。
那為啥還要自己編性湿??满败?
筆者在公司使用chrome肤频,因?yàn)橹荒苡霉镜膬?nèi)網(wǎng),連接外網(wǎng)有諸多限制(比如只能連某些技術(shù)網(wǎng)站CSDN什么的)算墨,無法下載這個(gè)插件宵荒,那不能想辦法下載下來從外網(wǎng)發(fā)到公司?其實(shí)是可以的净嘀,這一切都是因?yàn)楣P者想自己寫個(gè)東西搞定它报咳,其實(shí)也不是很難。下面就開始吧挖藏!
1暑刃、首先找有關(guān)編寫chrome插件的文檔
網(wǎng)上是有不少,翻墻什么的就算了膜眠,公司內(nèi)基本沒戲岩臣。我搜到了這個(gè):https://github.com/sxei/chrome-plugin-demo。
2宵膨、明確目標(biāo)
當(dāng)前的目標(biāo)是屏蔽廣告婿脸,這就是說插件可以操作html的DOM就可以了,至于動(dòng)態(tài)插入js柄驻,彈出窗口什么的都不需要。
3焙压、開始開發(fā)
(1)首先插件一個(gè)文件夾 chrome_plugin_clear_ad
名字你隨筆取鸿脓,最終是為了導(dǎo)入插件用。這個(gè)文件夾下要有2個(gè)文件夾和一個(gè)文件涯曲。
文件夾:img和js野哭,img下有這個(gè)插件的圖標(biāo)(隨便找個(gè)png圖,命名為 icon.pgn)幻件,js下是js文件拨黔,有兩個(gè) jquery.min.js(我的2.*版,其實(shí)哪一版都可以)和content-script.js(真正執(zhí)行你的邏輯代碼實(shí)現(xiàn)你的想法的js绰沥,非常重要@橛)贺待。
文件:manifest.json
(2)編寫manifest.json
內(nèi)容如下:
{
? ? "manifest_version":2, // 這個(gè)必須這樣寫,其他的看著編零截!
? ? “name”: "sdemo",
? ? "version":"1.0",
? ? "description": "clear ads of some web",
? ? "icons":
? ? {
? ????? "16":"img/icon.png"麸塞,
? ? ????"48":"img/icon.png",
? ? ????"128":"img/icon.png"
????}涧衙,
? ? “browser_action”:
? ? {
? ? ? ? "default_icon": "img/icon.png",
? ? ? ? "default_title": "clear ads",
? ? ? ? "default_popup": "popup.html"
????},
? ? "content_scripts":
? ? [
? ? ? ? {
? ? ? ? ? ? "matches": ["<all_urls>"], // 過濾url
? ? ? ? ? ? "js": ["js/jquery.min.js", "js/content-script.js"],
? ? ? ? ? ? "run_at": "document_start" // 啟動(dòng)時(shí)就起作用
????????}
????],
? ? "homepage_url': "www.a.com" // 如果有就填哪工,沒有就編
}
(3)content-scirpt.js
內(nèi)容:
$(document).ready(function()
{
? ? if($("link").attr("href").search("csdn.net")>0) // 判斷是不是 CSDN 網(wǎng)站
????{
? ? ? ? $("div.box-box-large").remove(); // 這樣做可能有風(fēng)險(xiǎn),因?yàn)轭惖拿Q可能會(huì)變弧哎,不如id可靠雁比,不過估計(jì)一時(shí)半會(huì)變不了
? ? ? ? // 下面兩個(gè)是側(cè)邊欄輪播的兩個(gè)廣告!撤嫩!
? ? ? ? $("aside div.csdn-tracking-statistics.mb8.box-shadow").remove();
????????$("aside div#asideFooter>.aside-box").remove();
????}
? ? // 還可以繼續(xù)添加其他網(wǎng)站偎捎,然后做針對(duì)性的屏蔽
});
(3)加載插件
打開 擴(kuò)展程序 菜單,勾選 開發(fā)者模式非洲,點(diǎn)擊 加載已解壓的擴(kuò)展程序鸭限,從彈出的窗口中選擇上面創(chuàng)建那個(gè)文件夾,不報(bào)錯(cuò)誤的話就可以正常使用了两踏。打開CSDN的blog驗(yàn)證一下看看是不是有效果败京。。梦染。