老早之前我发了一个如何让广告只在手机上显示或者只在PC上显示,但是之前的文章没了,所以还是有很多人在问我.刚好今天给一个客户弄了,顺便发一下改良版的代码.
//平台、设备和操作系统
var system ={
win : false,
mac : false,
xll : false
};
//判断系统
var p = navigator.platform;
/**var sUserAgent = navigator.userAgent.toLowerCase();
alert(sUserAgent);*/
system.win = p.indexOf("Win") == 0;
system.mac = p.indexOf("Mac") == 0;
system.x11 = (p == "X11") || (p.indexOf("Linux") == 0);
//跳转语句
if(system.win||system.mac||system.xll){
//pc端广告代码
}else{
//手机端广告代码
}
其实也可以可以用百度的代码来写个判断,算了,有时间再弄.
2020年5月26日 02:19:02 更新两个
1.用CSS来控制.
<style type="text/css">
.pc_acmsd{display:block;}
.m_acmsd{ display:none}
@media(max-width:768px) {
.pc_acmsd{display:none !important;}
.m_acmsd{display:block !important;}}
</style>
<div class="pc_acmsd">此处放入显示在电脑上的广告代码</div>
<div class="m_acmsd">此处放入显示在手机上的广告代码</div>
上面CSS的意思:
display:block 这是显示的意思
display:none 这是隐藏的意思
@media(max-width:768px) 判断页面宽度小于768PX的时候显示后面{ }的样式。
2.JS方法二
var url = location.search;
url = url.substr(1);
var bs = {
versions: function () {
var u = navigator.userAgent,
app = navigator.appVersion;
return {
trident: u.indexOf('Trident') > -1,
presto: u.indexOf('Presto') > -1,
webKit: u.indexOf('AppleWebKit') > -1,
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
mobile: !!u.match(/AppleWebKit.*Mobile.*/) || !!u.match(/AppleWebKit/),
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1,
iPhone: u.indexOf('iPhone') > -1,
iPad: u.indexOf('iPad') > -1
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
}