亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

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

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

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

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

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

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

    我們可以用一個(gè)請(qǐng)求來(lái)判斷瀏覽器有沒(méi)有開(kāi)啟廣告攔截,如果我們需要插入廣告,可以提示用戶關(guān)閉廣告攔截

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

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

   ?。ㄒ唬?、 一般情況下,如果在js中調(diào)用window.open()函數(shù)去打開(kāi)一個(gè)新tab頁(yè),瀏覽器會(huì)進(jìn)行攔截,認(rèn)為打開(kāi)的是一個(gè)廣告頁(yè)。

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

   ?。ㄈ?、即使是用戶點(diǎn)擊事件,如果在一次事件里調(diào)用多次window.open()函數(shù),則只有第一次被當(dāng)作正常打開(kāi),之后的還是會(huì)被當(dāng)作廣告頁(yè)。

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

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

   ?。ㄎ澹⑵渌麍?chǎng)景:

      有的下載功能是這樣實(shí)現(xiàn)的,當(dāng)用戶點(diǎn)擊某個(gè)按鈕后,在后臺(tái)生成一個(gè)地址返回給前端,前端在請(qǐng)求的回調(diào)方法中,通過(guò)window.open()打開(kāi)這個(gè)鏈接

      由于前端需要給后臺(tái)發(fā)送異步請(qǐng)求,所以window.open()也會(huì)被攔截

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

以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。

相關(guān)文章

  • javascript HTML操作代碼

    javascript HTML操作代碼

    用 js操作html標(biāo)簽的一些代碼,大家可以運(yùn)行后查看效果
    2008-11-11
  • 如何使用three.js 制作一個(gè)三維的推箱子游戲

    如何使用three.js 制作一個(gè)三維的推箱子游戲

    這篇文章主要介紹了如何使用three.js 制作一個(gè)三維的推箱子游戲,文中代碼非常細(xì)致,幫助大家更好的理解和學(xué)習(xí),感興趣的朋友可以了解下
    2020-07-07
  • 深入理解Webpack 中路徑的配置

    深入理解Webpack 中路徑的配置

    這篇文章主要給大家介紹了關(guān)于Webpack2中路徑配置的相關(guān)資料,文中介紹的非常詳細(xì),對(duì)大家具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起看看吧。
    2017-06-06
  • javascript 建設(shè)銀行登陸鍵盤(pán)

    javascript 建設(shè)銀行登陸鍵盤(pán)

    javascript模擬鍵盤(pán)輸入密碼
    2008-06-06
  • JavaScript編寫(xiě)一個(gè)貪吃蛇游戲

    JavaScript編寫(xiě)一個(gè)貪吃蛇游戲

    本文主要介紹了JavaScript寫(xiě)的一個(gè)貪吃蛇游戲的實(shí)例,具有很好的參考價(jià)值。下面跟著小編一起來(lái)看下吧
    2017-03-03
  • SWFObject 2.1以上版本語(yǔ)法介紹

    SWFObject 2.1以上版本語(yǔ)法介紹

    用SWFObject 插入flash,好處多多,代碼簡(jiǎn)潔,不會(huì)出現(xiàn)微軟的“單擊此處以激活控件”的提示(據(jù)可靠消息,這個(gè)是微軟惹的官司,其結(jié)果是害苦了用戶)。
    2010-07-07
  • javascript常用的設(shè)計(jì)模式

    javascript常用的設(shè)計(jì)模式

    本文主要介紹了javascript常用的設(shè)計(jì)模式:單例模式;工廠模式;適配模式;外觀模式。下面跟著小編一起來(lái)看下吧
    2017-02-02
  • webpack-dev-server 的 host 配置 0.0.0.0的方法

    webpack-dev-server 的 host 配置 0.0.0.0的方法

    這篇文章主要介紹了webpack-dev-server 的 host 配置 0.0.0.0的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,,需要的朋友可以參考下
    2024-01-01
  • 前端開(kāi)發(fā)過(guò)程中瀏覽器版本的兩種判定方法

    前端開(kāi)發(fā)過(guò)程中瀏覽器版本的兩種判定方法

    前端開(kāi)發(fā)過(guò)程中經(jīng)常需要判斷瀏覽器的版本,達(dá)到同時(shí)兼容多個(gè)瀏覽器的目的,下面有兩種不錯(cuò)的常用方法:jquery及HTML中的注釋,喜歡的朋友可以參考下
    2013-10-10
  • 如何利用Typescript封裝本地存儲(chǔ)

    如何利用Typescript封裝本地存儲(chǔ)

    這篇文章主要給大家介紹了關(guān)于如何利用Typescript封裝本地存儲(chǔ)的相關(guān)資料,文中通過(guò)實(shí)例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2022-01-01

最新評(píng)論