反反廣告插件簡易實現以及詭詐關

2018-12-01 约 2513 字 预计阅读 6 分钟

反反廣告插件?

是的,標題沒有打錯。

IT man的寫法應該加個括號,反(反廣告插件)。

昨天提到了廣告,多年以前對廣告很感興趣,看過好些部經典的寫廣告書籍,如《影響力》、《百萬美元信》等,前幾個月到美帝一遊,看到路邊的招牌,也感覺是個廣告之國。

廣告對市場經濟高速發展起到了一定的作用。不過任何事物都一體兩麵,互聯網的高速發展也令瀏覽時經常遇到大量的低俗廣告,故此反廣告插件也應運而生。

反廣告插件

反廣告插件是針對Google Chrome,Apple Safari, Firefox,Opera和Microsoft Edge等網絡瀏覽器的內容過濾和廣告攔截擴展程序。

安裝了以後,確實像至尊寶一樣感覺“整個世界清淨了”,不過很多正常的廣告也因此一起被屏蔽,這下很多大網站不幹了,就弄了反反廣告插件,比如福布斯、紐約時報等等網站,都有檢測反廣告插件的代碼,有的比較粗暴一點,要麼看廣告,要麼就離開,有的稍微溫和點,給用戶選擇權。

大多數人不是IT man,故此又有一堆反反廣告插件代碼網站應運而生,反正也算是個熱鬧。

目前我這點業餘0.5級水平足以搞定這個反反廣告插件,剛才就做了一個,準備發布到Hugo W3 Simple裏供人選擇。

反反廣告插件的實現

反廣告插件是用javascript編的,比較粗暴,碰到疑似ads的元素都刪除掉。這樣我們做一個假的廣告條

<div id="wrapads">
    <div class="adBanner">
     
    </div>
</div>

給這個假廣告條做一個css

.adBanner {
    
    height: 1px;
    width: 1px;
}

這樣在頁麵裏就有一個大小為1px的廣告條,反廣告插件可不會管裏麵有啥內容,看到是adBanner就把它移除了。但它的上一級 wrapads還在那裏,不增不減,不垢不淨

所以我們用javascript來判斷wrapads的高度,如果大於0說明沒有反廣告插件,如果等於0,則有。

如果有反廣告插件,則彈出提醒,我簡單的弄了個全屏提醒,背景虛化,css如下

.allowads-overlay {
    height: 100%;
    width: 0;
    position: fixed;
    z-index: 2;
    top: 0;
    left: 0;
    background-color: rgb(255,255,255);
    background-color: rgba(255,255,255, 0.9);
    overflow-x: hidden;
    transition: 0.5s;
}

.allowads-overlay-content {
    position: relative;
    top: 25%;
    width: 61.8%;
    text-align: center;
    margin-top: 30px;
    margin-left:auto;
    margin-right:auto;
    
}

在網頁上把提醒內容寫上

<div id="allowads" class="allowads-overlay">
  
  <div class="allowads-overlay-content">
  <div class="w3-panel w3-pink w3-large">
  

   <p> We notice you're using an adblocker.  If you like our webite please keep us running by whitelisting this site in your ad blocker. We’re serving quality, related ads only. Thank you!</p>
   
   <div class="w3-btn w3-green"  onclick="closeOverlay()">I've whitelisted your website.</div><br>
  <div class="w3-button"  onclick="closeOverlay()">Not now</div>
  </div>
</div>
</div>

這裏給用戶兩個選擇。但處理代碼是一樣的,用戶如果已經白名單本網站,到下一個頁麵就能正常的顯示廣告,也不會彈出這樣的提醒窗口了。

何時觸發這個窗口呢,這個可以根據瀏覽時間,或者用戶滑屏了就觸發,我這裏寫的是滑屏觸發。根據自己帖子的長短設置滑屏位置到2000px時,觸發一個提醒窗口。

javascript代碼如下:

<script>
function closeOverlay() {
  document.getElementById("allowads").style.width = "0%";
  document.getElementById("wrapads").style.height="1px";
}

function detectads() {
var h = document.getElementById("wrapads").clientHeight;

if (h==0){ document.getElementById("allowads").style.width = "100%";
}
}
window.onscroll = function() {scrollFunction()};

function scrollFunction() {

if (document.body.scrollTop > 2000 || document.documentElement.scrollTop > 2000) {
    detectads();
} 
}
</script>

如此這般,反反廣告插件就實現了。如果你裝了反廣告插件,可以訪問本站的一個英文頁麵滑屏到頁麵中途看效果。

我網站的中文頁麵沒有任何廣告,所以也沒有開啟這個反反廣告插件。


通關文之詭詐關

易曰:“ 盥 而不薦。”
詩曰:“神之格思,不可度思,矧可射思。”
玉樞經曰:“以誠而入。”
參同契曰:“孝子用心,感動皇極。”
上陽子曰:“天或雖違,當以財寶精誠求之。”
此皆言其誠心用事,而不可稍有詭譎詐偽之心也。
夫學者學道,貴乎真心實意,自卑自下,方能感動真師,取信良友,受其益惠。
蓋我有真心,而師友即以真心待之;我有實意,而師友即以實意待之。
此感彼應,一定不易之理。
倘不能真心實意,反以詭譎詐偽為事,麵是心非,自謂可以瞞哄高明。
殊不知真師明鑒照遠,一見即識真假。
欺人實自欺,瞞人實自瞞。
不但無益於事,而且反壞於事。
詭詐奚為哉。世間糊塗學人,糊塗出家,糊塗學道。
將性命視為平常之物,將學道視為平常之事。
遇真師即問元關,見道朋自誇奧妙。
並不知尊師之理,敬友之道。
或謊言詭語而侮慢;或假意虛情而妝飾;或巧言令色,徒取人悅;或指東畫西,誘人露話;或斜臥依靠而問難;或一頭一飯而求訣;或對坐高談而辨別;或稍有磨煉而懷恨;或偶遇苦事而躲避;或看經書而略觀大義,一過即了;或聽師言而不嚐滋味,謹記話頭;或外雖學道,心中又圖謀別事;或既想修行,轉身又纏染俗情。如此弊病,不一而足。
如何感的真師指點,良友扶持?
吾勸真心學道者,速將詭詐關口打通,換出個至誠心腸。
從實落處進步,萬不可存絲毫詭譎之心,欺人欺己,誤了前程。
蓋誠之一字,能以動天地,通鬼神,感人物。
豈有師友而不能感動者乎?
即能感動師友,則大道可冀。
否則稍有虛假詭詐之念,則心不誠。
心不誠,方寸中亦生大病,不但不能求真,而且反昧其真。
妄想明道,難矣。

此關言到“誠”之一字,誠字乃是言成。

少年時看的第一部豎排繁體字書是《四遊記》,對《東遊記》與《北遊記》印象最深,兩者均有帝君凡心一動,言出於口的故事。

今天就再溫習一下北遊記內一段:


卻說劉天君正坐之間,忽見使到,接入坐下。劉天君問曰:“使命大人至此,有何旨意?”星君曰:“聖上設宴,忽見貴宅寶樹,毫光閃閃,聖上愛之,命下官造府,要討此物。”劉天君曰:“要此安敢不從?但吾世代接續有此樹,樹中有七寶常時而出。聖上若要此樹,恐動之,七寶散去,不會有光,又恐不發。其實無用。煩使命大人回奏玉帝,免致害卻此物可也。”

使命聞言告退,回奏玉帝,奏明前事。玉帝聞奏,大怒言曰:“吾為一天之主,倒不及劉天君家有此樹,能生七寶,光現照人,妙不可言。”又問眾臣曰:“其樹要何人常得享用?”眾臣奏曰:“此樹惟有劉天君家子孫方得管理享用。”帝聞奏。忽然失聲歎曰“如何能得到他家做個子孫,得享用此物,孤心足矣!”眾臣聽罷玉帝之言,個個大驚,出班奏曰:“聖人不亂言。聖上既出此言,必當改位投胎。”玉帝心意,隻想那接天樹,不顧降生之苦,亦答曰:“依卿之言,孤去則誰為主?”眾臣又奏曰:“陛下三魂化身,當指一魂化身,去降生投胎。”玉帝聞奏,聽說要他三魂指一魂去,不覺下淚。

眾臣奏曰:“陛下聖言一出,安可食之?無信不立,陛下宜速發旨。”玉帝曰:“雖孤今日指一魂化身降生,何日完之?”眾臣奏曰:“陛下勿憂。功成完滿,依舊還原。”玉帝隻得指一魂化身,眾臣各起一道金光,直送往劉天君家去降生不題。

此類情節有幾處,可知誠之一字是牽涉到本源,言出於口,情動於衷而形於外。

不到那一刻,恐怕自己也不知自己的誠意有幾何。

此關通法,唯有戰戰兢兢,如履薄冰,念念不忘一個誠字,必有回響。


author

Jesse Lau

網名遁去的一,簡稱遁一。2012年定居新西蘭至今,自由職業者。
本文采用知識共享署名 4.0 國際許可協議進行許可。簡而言之,可隨意轉發轉載,轉載請注明出處。


留点评论吧: