判断访问的是pc还是移动端然后调用不同的css样式

2025-01-04 23:28:56
推荐回答(2个)
回答1:

第一种方式:利用js判断设备类型,应用不同样式文件

  
  

JS判断设备类型,应用不同css文件

  








var browser={
    versions:function(){
var u = navigator.userAgent, app = navigator.appVersion;
//移动设备浏览器版本信息
return {
//IE内核
trident: u.indexOf('Trident') > -1,
//opera内核
presto: u.indexOf('Presto') > -1,
//苹果、谷歌内核
webKit: u.indexOf('AppleWebKit') > -1,
//火狐内核
gecko: u.indexOf('Gecko') > -1 && u.indexOf('KHTML') == -1,
//是否为移动终端
mobile: !!u.match(/AppleWebKit.*Mobile.*/), 
//ios终端
ios: !!u.match(/\(i[^;]+;( U;)? CPU.+Mac OS X/),
//android终端或者uc浏览器
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, 
//是否为iPhone或者QQHD浏览器
iPhone: u.indexOf('iPhone') > -1 , 
//是否iPad
iPad: u.indexOf('iPad') > -1,
//是否web应该程序,没有头部与底部
webApp: u.indexOf('Safari') == -1
};
}(), 
language:(navigator.browserLanguage || navigator.language).toLowerCase()  
}   
  
if(browser.versions.mobile || browser.versions.ios || browser.versions.android || browser.versions.iPhone || browser.versions.iPad){ cssChange();     
}  

function cssChange(){
var link = document.getElementsByTagName('link')[0];
//PC端应用的样式文件:style_A.css
alert('当前应用样式文件是:'+link.getAttribute('href'));
link.setAttribute('href','style_B.css');
//Mobile端应用样式文件:style_B.css
alert('当前应用样式文件是:'+link.getAttribute('href'));
}


  

第二种方式:利用css3的媒体查询,在不同的分辨率下,调用不同的css文件

  
  

用媒体查询做自适应页面







  



我是Body下的第一个Div元素


  

回答2:

参考如下代码
var browser = {
versions: function() {
var u = navigator.userAgent, app = navigator.appVersion;
return {//移动终端浏览器版本信息
trident: u.indexOf('Trident') > -1, //IE内核
presto: u.indexOf('Presto') > -1, //opera内核
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/), //ios终端
android: u.indexOf('Android') > -1 || u.indexOf('Linux') > -1, //android终端或者uc浏览器
iPhone: u.indexOf('iPhone') > -1 || u.indexOf('Mac') > -1, //是否为iPhone或者QQHD浏览器
iPad: u.indexOf('iPad') > -1, //是否iPad
webApp: u.indexOf('Safari') == -1 //是否web应该程序,没有头部与底部
};
}(),
language: (navigator.browserLanguage || navigator.language).toLowerCase()
}

if (browser.versions.ios || browser.versions.iPhone || browser.versions.iPad) {
window.location="https://itunes.apple.com/xxx";
}
else if (browser.versions.android) {
window.location="http://xxx/xxx.apk";
}

相关问答