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

JS前端廣告攔截實現(xiàn)原理解析

 更新時間:2020年02月17日 10:57:06   作者:歡樂之家  
這篇文章主要介紹了JS前端廣告攔截實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

這篇文章主要介紹了JS前端廣告攔截實現(xiàn)原理解析,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下

  主流的瀏覽器,默認都開啟了廣告過濾,這對于用戶(瀏覽者)來說,不但加快了訪問網(wǎng)頁的速度,而且也避免了勿點一些垃圾色情的東西,可以說綠色了網(wǎng)絡(luò)環(huán)境。

  第一、對于正常的廣告攔截前端開發(fā)需要注意的是:

    在請求圖片與js文件、接口、文件內(nèi)容最好不要包含ad、guanggao等關(guān)鍵詞,可能被攔截

    我們可以用一個請求來判斷瀏覽器有沒有開啟廣告攔截,如果我們需要插入廣告,可以提示用戶關(guān)閉廣告攔截

<script src="http://demo.jb51.net/adview_pic_cpc_cpm_cpa_guanggao_gg_ads_300x250.js" type="text/javascript"></script>
/*這個js文件的內(nèi)容為var killads = true;*/
<script type="text/javascript"> 
  if (typeof(killads)=='undefined'){alert('廣告被過濾');} 
</script>

  第二、瀏覽器對window.opne()的攔截,我們可以通過var x =window.open(url);然后判斷x == undefined來判斷新窗口是否被攔截。

    (一)、 一般情況下,如果在js中調(diào)用window.open()函數(shù)去打開一個新tab頁,瀏覽器會進行攔截,認為打開的是一個廣告頁。

   ?。ǘ?、所以如果不想讓瀏覽器攔截,可以將這個“函數(shù)”改為用戶點擊時觸發(fā),這樣瀏覽器就認為是用戶想訪問這個頁面,而不是你直接彈出給用戶。

   ?。ㄈ⒓词故怯脩酎c擊事件,如果在一次事件里調(diào)用多次window.open()函數(shù),則只有第一次被當作正常打開,之后的還是會被當作廣告頁。

    (四)、如果在點擊事件里有ajax調(diào)用,window.open()在回調(diào)函數(shù)里執(zhí)行,則瀏覽器仍然認為是js調(diào)用并當作廣告攔截。除非ajax設(shè)置為“同步”模式。也可以用下面的方法解決

var newWin = window.open(); 
$.ajax({ 
  url:xxx, 
  success: function(data){ 
    newWin.location = data.url; 
  } 
});

   ?。ㄎ澹⑵渌麍鼍埃?/p>

      有的下載功能是這樣實現(xiàn)的,當用戶點擊某個按鈕后,在后臺生成一個地址返回給前端,前端在請求的回調(diào)方法中,通過window.open()打開這個鏈接

      由于前端需要給后臺發(fā)送異步請求,所以window.open()也會被攔截

      可行的方法是,在回調(diào)之后,生成一個<a>標簽,且href設(shè)置為下載地址,然后觸發(fā)這個<a>標簽的點擊事件,注意:<a>標簽一定要加一個download屬性,否則還是會被攔截

以上就是本文的全部內(nèi)容,希望對大家的學習有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

最新評論

阳江市| 陆川县| 琼结县| 厦门市| 南溪县| 方城县| 富顺县| 石楼县| 师宗县| 阜宁县| 准格尔旗| 河间市| 阳西县| 鲜城| 临夏市| 秭归县| 加查县| 县级市| 巴中市| 界首市| 托克逊县| 商洛市| 会东县| 陕西省| 华蓥市| 休宁县| 玉山县| 富宁县| 临沧市| 大同市| 岳池县| 新营市| 奎屯市| 滁州市| 修武县| 东乌| 黔东| 井陉县| 冕宁县| 浮山县| 曲周县|