Google瀏覽器外掛之快閃記憶體過濾器
一件很有意思的事情引發的無聊嘗試。
部落格園有個很有趣的功能,就是快閃記憶體,翻閱到07年園長對快閃記憶體的定義:
記錄一閃而過的想法,高興或者不高興都可以發一下。我用這個一直以來的想法就是,想到點啥發點啥,順便看看別人發的啥。但是.....唔......有的人可能言論過激,引起他人不適,於是就開撕了,這樣的場景屢見不鮮,場面之激烈堪稱一場大戲~~
於是就有園友期望可以出個遮蔽功能,不喜歡的人直接在自己的列表裡pass掉。
其實吧,我覺得,有時候沒有必要去和別人爭吵,看不慣就看不慣,就當個笑話就好。
當然了,都是程式設計師,何必增加園子里程序員的工作量呢,哈哈你說是不是。可能有的人就要說了,不就是個遮蔽功能嘛,很複雜嗎?咦,這種場景是不是像極了網際網路公司某些產品的口頭禪。
以上只是個人觀點,言歸正傳請看下面正文。
哈哈,鋪墊完了,上乾貨了,為了解決上述問題,之前我寫了一個js指令碼,F12以後在控制檯執行, 即可清除指定人的快閃記憶體,但是這種方式多有不便,每次得F12開啟瀏覽器控制檯,不然就不行。這個操作太麻煩了,直到今天,一個快閃記憶體園友提出了一個很棒的想法,寫個瀏覽器外掛!
這是一個建設性的建議,當即我就開始動手了,搜尋如何寫外掛,清除人的快閃記憶體指令碼我有了,差的只是如何利用外掛去執行我的JS程式碼。
https://www.cnblogs.com/luffystory/p/9190444.html
上面這個部落格是我找到的入門教程,看懂基本操作之後我改了改,寫入了自己的JS就完事了。
步驟如下:(以下所有檔案都在某個建好的資料夾中)
1.新建manifest.json檔案,寫入如下內容:
{ "manifest_version": 2, "name" : "快閃記憶體過濾器", "description" : "不喜歡的人過濾掉就好啦~~", "version": "1.0.0.0", "content_scripts" :[ { "matches" : ["*://ing.cnblogs.com/*"], "js" : ["jquery-3.3.1.min.js","main.js"] } ] }
(引數詳解看這個 https://www.cnblogs.com/GoCircle/p/9332836.html )
這裡是指簡單的demo,引數只寫了需要的幾個,裡面指定了外掛作用的域名,以及需要使用的JS,因為平時自己習慣寫JQ,mian.js是JQ寫法,所以引入了JQ檔案。
main.js裡面內容如圖:
裡面測試人員01、測試人員01、測試人員03寫成需要遮蔽的暱稱即可。
外掛資料夾最終的檔案截圖如下:
除了JQ從網上下載,其他兩個都是新建的。注意檔案的編碼格式為Utf8。
寫好了就開始用了!開啟Google的擴充套件程式,點選載入已解壓的擴充套件程式:
按下圖所示操作,新增一個資料夾:
新增以後是這樣的:
擴充套件程式裡面已經有我們新增的外掛啦~~~ 預設是啟用的!(對了,需要注意的是,開啟瀏覽器的開發者模式才能新增外掛喲)
最後,如圖檢驗成果!F12只是為了看日誌,關掉以後外掛依然有效,目前我設定的是載入清除一次,然後每2秒再定時清除一次,因為點“全站”的時候,下面JS是非同步載入的,頁面不會重新整理,所以需要定時再清一下dom。
這個是GIithub原始碼地址 https://github.com/lovemoqing/IngFilter,其實就是一個簡單的檔案.... 後續我再看有木有可以完善的地方。
不想手動建檔案的小夥伴就去下載吧,然後把mian.js裡面的暱稱改成自己想遮蔽的即可。
Remarks:
1.mian.js裡的暱稱是寫死的,每次改的話不方便,需要重新載入外掛,其實我可以寫個api,去調取介面獲得需要清除的名單,時間關係暫時寫死。
2.目前根據暱稱清除的,但是暱稱會存在經常修改的情況,導致不準,如果採用部落格地址名的話,相對準確一些,但是部落格地址名也是可以申請修改的,所以就不搞那麼複雜了。
後記:這個只是為了練手,試試外掛怎麼寫,如有不適敬請諒解,我寫這個並不是放大矛盾,而是希望存在矛盾的園友可以化干戈為玉帛,如果實在不能,就用外掛遮蔽一下。