最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

用js屏蔽被http劫持的浮動(dòng)廣告實(shí)現(xiàn)方法

 更新時(shí)間:2017年08月10日 07:58:35   投稿:jingxian  
下面小編就為大家?guī)硪黄胘s屏蔽被http劫持的浮動(dòng)廣告實(shí)現(xiàn)方法。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧

最近發(fā)現(xiàn)網(wǎng)站經(jīng)常在右下角彈出一個(gè)浮動(dòng)廣告,開始的時(shí)候以為只是瀏覽器的廣告。

后來越來越多同事反映在家里不同瀏覽器也會(huì)出現(xiàn)廣告。然后深入檢查了下,發(fā)現(xiàn)網(wǎng)站竟然被劫持了。

然后百度了一大堆資料,什么http劫持、dns劫持、運(yùn)營商劫持之類的,確定真的是中招了。看圖:

真是偷梁換柱啊,被插入廣告代碼了。真是無良奸商,什么都做得出。

然并卵,最重要的解決辦法是啥?然后把問題扔給了運(yùn)維的同事。

最終結(jié)果是解決不了。沒錯(cuò),就是這么的坑爹。除非采用https。網(wǎng)上那些什么打電話、發(fā)信投訴之類的貌似沒啥用。可能是運(yùn)維太爛了。反正結(jié)果就是沒結(jié)果。

然后,沒辦法啦。只能我們大前端自己想辦法屏蔽啦。然后開啟了研究劫持代碼之旅,

......過程省略了800字尋找過程。

最終發(fā)現(xiàn)了,被劫持的廣告會(huì)定義一個(gè)js全局變量_pushshowjs_ ,里面保存了一些劫持廣告的相關(guān)信息,然后創(chuàng)建一個(gè)id為_embed_v3_dc的div放廣告。并且每次都是一樣的,不會(huì)有變化。

根據(jù)劫持廣告的投放原理,最終使用了js屏蔽被劫持廣告的方法。

具體代碼如下:

;(function($,window,undefined){
 var needClear=false,
  timeout;
 if(window._pushshowjs_){
  console.log("adHttp");
  needClear=true;
 }
 window._pushshowjs_={};
 Object.freeze(window._pushshowjs_);//讓對象只讀, 防止屬性被直接修改
 Object.defineProperty(window, '_pushshowjs_', {
  configurable: false,//防止屬性被重新定義
  writable: false//防止屬性被重新賦值
 });
 if(needClear){
  timeout=setInterval(function(){
   if($("#_embed_v3_dc").length>0){
    $("#_embed_v3_dc").remove();
    console.log("http清除");
    needClear=false;
    clearInterval(timeout);
   }
  },500);
  $(window).load(function(){
   if(needClear){
    setTimeout(function(){
     clearInterval(timeout);
     console.log("清除");
    },2000);
   }
  });
 }
}(jQuery,window));

代碼不多,就不詳細(xì)解析了(如果覺得代碼有問題,望指正)。簡單點(diǎn)說就是把劫持廣告必須的全局js變量_pushshowjs_設(shè)定為不可被修改,只讀。如果發(fā)現(xiàn)廣告就清除。

放了代碼,終于跟被劫持的廣告說88了。

為什么說是笨辦法?

因?yàn)檫@只是自欺欺人。其實(shí)劫持還是存在,并且被劫持了的js的加載順序有可能會(huì)發(fā)生變化而導(dǎo)致錯(cuò)誤,理想的辦法還是要靠運(yùn)維跟運(yùn)營商去解決或使用https。

每個(gè)劫持的廣告邏輯應(yīng)該都差不多,但廣告代碼都會(huì)不同。所以我這個(gè)不一定會(huì)適用于其他的劫持廣告。這只是一個(gè)思路,沒辦法之中的辦法。

有大神有更好的解決辦法,望指教。

以上這篇用js屏蔽被http劫持的浮動(dòng)廣告實(shí)現(xiàn)方法就是小編分享給大家的全部內(nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • ES6之模版字符串的具體使用

    ES6之模版字符串的具體使用

    這篇文章主要介紹了ES6之模版字符串的具體使用,小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧
    2018-05-05
  • 詳解JavaScript作用域、作用域鏈和閉包的用法

    詳解JavaScript作用域、作用域鏈和閉包的用法

    這篇文章主要介紹了JavaScript作用域、作用域鏈和閉包的用法,幫助大家更好的理解和使用JavaScript,感興趣的朋友可以了解下
    2020-09-09
  • 用JavaScript調(diào)用WebService的示例

    用JavaScript調(diào)用WebService的示例

    JavaScript用htc實(shí)現(xiàn)WebService的調(diào)用
    2008-04-04
  • ES2020讓代碼更優(yōu)美的運(yùn)算符 (?.) (??)

    ES2020讓代碼更優(yōu)美的運(yùn)算符 (?.) (??)

    這篇文章主要介紹了ES2020讓代碼更優(yōu)美的運(yùn)算符 (?.) (??),文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-01-01
  • 關(guān)于json字符串與實(shí)體之間的嚴(yán)格驗(yàn)證代碼

    關(guān)于json字符串與實(shí)體之間的嚴(yán)格驗(yàn)證代碼

    在一個(gè)項(xiàng)目中要求嚴(yán)格驗(yàn)證傳入的json字符串與定義的 類匹配,否則不記錄。后來查了好多資料才弄明白,下面小編給大家分享下關(guān)于json字符串與實(shí)體之間的嚴(yán)格驗(yàn)證,感興趣的朋友一起看看吧
    2016-11-11
  • JavaScript中的this關(guān)鍵字用法詳解

    JavaScript中的this關(guān)鍵字用法詳解

    在編寫JavaScript應(yīng)用的時(shí)候,我們經(jīng)常會(huì)使用this關(guān)鍵字。那么this關(guān)鍵字究竟是怎樣工作的,它的設(shè)計(jì)有哪些好的地方,有哪些不好的地方,本文帶大家全面系統(tǒng)地認(rèn)識這個(gè)老朋友,感興趣的小伙伴可以借鑒閱讀
    2023-05-05
  • JS實(shí)現(xiàn)移動(dòng)端在線簽協(xié)議功能

    JS實(shí)現(xiàn)移動(dòng)端在線簽協(xié)議功能

    這篇文章主要介紹了JS實(shí)現(xiàn)移動(dòng)端在線簽協(xié)議功能,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-08-08
  • 在Ajax中使用Flash實(shí)現(xiàn)跨域數(shù)據(jù)讀取的實(shí)現(xiàn)方法

    在Ajax中使用Flash實(shí)現(xiàn)跨域數(shù)據(jù)讀取的實(shí)現(xiàn)方法

    今天,小子再提供一種使用Flash進(jìn)行跨域操作的方法。眾所周之,其實(shí)Flash的跨域操作也是有限制的,不過,F(xiàn)lash的跨域配置比簡單,只需要在站點(diǎn)根目錄下放置crossdomain.xml即可。
    2010-12-12
  • js跨瀏覽器實(shí)現(xiàn)將字符串轉(zhuǎn)化為xml對象的方法

    js跨瀏覽器實(shí)現(xiàn)將字符串轉(zhuǎn)化為xml對象的方法

    將字符串轉(zhuǎn)化為xml對象需要注意的是該死的ie多版本的問題,具體實(shí)現(xiàn)如下,感興趣的朋友不妨參考下本文,希望對大家有所幫助
    2013-09-09
  • JavaScript編寫簡單的計(jì)算器

    JavaScript編寫簡單的計(jì)算器

    這篇文章主要介紹了JavaScript如何編寫簡單的計(jì)算器,功能很簡單,可以實(shí)現(xiàn)加減乘除功能,文中示例代碼介紹的非常詳細(xì),具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2015-11-11

最新評論

故城县| 焦作市| 宝清县| 右玉县| 皮山县| 大埔县| 灵台县| 寿光市| 内丘县| 平南县| 庆云县| 通州市| 沐川县| 邢台市| 芜湖市| 麟游县| 万荣县| 咸宁市| 洛南县| 孙吴县| 南郑县| 含山县| 辉县市| 江安县| 都兰县| 丹东市| 张家港市| 易门县| 庆城县| 河北区| 辽中县| 凌海市| 抚顺市| 出国| 宣化县| 容城县| 酉阳| 沛县| 抚宁县| 丰原市| 汉中市|