얼마 전 WeChat 내장 브라우저에 제휴 광고가 표시되지 않는다는 블로그 게시물을 썼습니다
window.navigator.userAgent를 기반으로 현재 브라우저가 WeChat 내장 브라우저인지 확인
window.navigator.userAgent=='micromessenger'
오늘 공유하고 싶은 내용은 거의 똑같습니다. 이전에는 위챗 브라우저의 적응만 고려했었는데, 모바일 브라우저에서 사이트를 열었을 때 적응 문제를 발견했습니다.
일부 연맹에서는 모바일 버전을 자동으로 차단하지만, 일부 연맹에서는 차단할 수 없으므로 수동으로만 판단하실 수 있습니다.
브라우저 userAgent를 기준으로 소스 결정
Android 기기에 대한 UserAgent 판단
navigator.userAgent.match(/Android/i)
아이폰 기기 사용자에이전트 판단
navigator.userAgent.indexOf('iPhone')!=-1
ipad 기기 사용자에이전트 판단
navigator.userAgent.indexOf('iPad') != -1
ipod 기기 사용자에이전트 판단
navigator.userAgent.indexOf('iPod') != -1
추가 WeChat 내장 브라우저 판단 방법
function isWeiXin() { var ua = window.navigator.userAgent.toLowerCase(); if (ua.match(/MicroMessenger/i) == 'micromessenger') { return true; } else { return false; } }
WeChat, 휴대폰(winphone 기기 제외), iPod 차단
if(!isWeiXin()&&!(navigator.userAgent.match(/Android/i) || (navigator.userAgent.indexOf('iPhone') != -1) || (navigator.userAgent.indexOf('iPod') != -1) || (navigator.userAgent.indexOf('iPad') != -1))) { var sogou_ad_id=4767753; //联盟广告计费id } <script src="http://images.sohu.com/cs/jsfile/js/c.js" charset="utf-8"></script> //广告内容加载
제휴사 광고 과금 ID가 없으면 다음 광고는 당연히 표시되지 않습니다. 이는 간접적으로 모바일 단말기에서 제휴사 광고를 차단하는 역할을 합니다.