国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 語言 > JavaScript > 正文

JS前端廣告攔截實現原理解析

2024-05-06 15:44:33
字體:
來源:轉載
供稿:網友

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

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

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

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

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

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

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

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

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

    (三)、即使是用戶點擊事件,如果在一次事件里調用多次window.open()函數,則只有第一次被當作正常打開,之后的還是會被當作廣告頁。

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

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

    (五)、其他場景:

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

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

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

以上就是本文的全部內容,希望對大家的學習有所幫助,也希望大家多多支持錯新站長站。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

主站蜘蛛池模板: 石屏县| 沭阳县| 射洪县| 左权县| 敖汉旗| 奉化市| 碌曲县| 安国市| 秭归县| 贡觉县| 临海市| 兴和县| 曲周县| 景宁| 乌兰县| 垫江县| 友谊县| 泾阳县| 会昌县| 白银市| 东至县| 手机| 滨海县| 饶平县| 临城县| 昆山市| 垫江县| 尉氏县| 邵东县| 娄底市| 修文县| 县级市| 星子县| 龙南县| 万全县| 金川县| 铜山县| 甘孜县| 定结县| 定边县| 北票市|