js 判断当前是移动端还是PC端
JS 判断 移动 当前 还是 PC
2023-06-13 09:14:11 时间
源代码:https://gitee.com/miofly/resources
// 移动端兼容
;var adaptive={};(function(f,g){var h=f.document;var i=h.documentElement;var j=f.devicePixelRatio;var k=1;var l=1;function setViewport(){var a=/iphone/gi.test(f.navigator.appVersion);if(g.scaleType===2&&a||g.scaleType===3){k=j}f.devicePixelRatioValue=k;l=1/k;var b=h.querySelector('meta[name="viewport"]');var c='initial-scale='+l+', maximum-scale='+l+', minimum-scale='+l+', user-scalable=no';if(k===1){c='width=device-width, '.concat(c)}if(!a&&k!==1){c=c.concat(', target-densitydpi=device-dpi')}if(b){b.setAttribute('content',c)}else{var d=h.createElement('meta');d.setAttribute('name','viewport');d.setAttribute('content',c);if(i.firstElementChild){i.firstElementChild.appendChild(d)}else{var e=h.createElement('div');e.appendChild(d);i.appendChild(e)}}}var m=100;g.errDpr=1;function setRem(){var a;if(g.maxWidth){a=Math.min(i.getBoundingClientRect().width,g.maxWidth*k)}else{a=i.getBoundingClientRect().width}m=100*a/g.desinWidth*(g.errDpr||1);i.style.fontSize=m+'px';h.body&&(h.body.style.fontSize=g.baseFont/100+'rem');g.setRemCallback&&g.setRemCallback();g.newBase=m}var n;g.desinWidth=750;g.baseFont=28;g.reflow=function(){i.clientWidth};function checkRem(){if(/android/ig.test(f.navigator.appVersion)){var a=document.createElement('p');a.style.height='1px';a.style.width='2.5rem';a.style.visibility='hidden';document.body.appendChild(a);var b=a.offsetWidth;var c=g.newBase*2.5;if(Math.abs(c/b-1)>0.05){g.errDpr=c/b;setRem()}document.body.removeChild(a)}}g.init=function(){f.addEventListener('resize',function(){clearTimeout(n);n=setTimeout(setRem,300)},false);f.addEventListener('pageshow',function(e){if(e.persisted){clearTimeout(n);n=setTimeout(setRem,300)}},false);if(h.readyState==='complete'){h.body.style.fontSize=g.baseFont/100+'rem';checkRem()}else{h.addEventListener('DOMContentLoaded',function(e){h.body.style.fontSize=g.baseFont/100+'rem';checkRem()},false)}setViewport();setRem();i.setAttribute('data-dpr',k)};g.remToPx=function(a){return a*m}})(window,adaptive);if(typeof module!='undefined'&&module.exports){module.exports=adaptive}else if(typeof define=='function'&&define.amd){define(function(){return adaptive})}else{window.adaptive=adaptive}window['adaptive'].desinWidth=750;window['adaptive'].baseFont=28;window['adaptive'].maxWidth=750;window['adaptive'].scaleType=1;window['adaptive'].init();;
<script>
function isPc () { // 判断是移动端还是PC端
var _$=["Win", "Mac", "X11"];
var is_win=navigator["platform"]["indexOf"](_$[0])==0;
var is_mac=navigator["platform"]["indexOf"](_$[1])==0;
var is_x11=(navigator["platform"]==_$[2]);
return is_win==1||is_mac==1||is_x11==1
}
alert(isPc() == true ? 'PC端' : '移动端')
</script>
相关文章
- js实现发布订阅模式
- 前端面试指南之JS面试题总结
- 原生JS + HTML + CSS 实现快递物流信息 API 的数据链式展示
- js 判断图片是否加载完成详解编程语言
- JS判断字符串长度的5个方法详解编程语言
- JS获取当前日期时间并定时刷新详解编程语言
- js查找父节点的简单方法
- Iframe自适应高度并实时监控高度变化的js代码
- js中判断控件是否存在
- js中用事实证明cssText性能高的问题
- js获取图片大小的函数代码
- js获取坐标通过JS得到当前焦点(鼠标)的坐标属性
- div+css+js实现无缝滚动类似marquee无缝滚动兼容firefox
- 常用js字符串判断方法整理
- JS测试显示屏分辨率以及屏幕尺寸的方法
- js获取url参数代码实例分享(JS操作URL)
- JS将所有对象s的属性复制给对象r(原生js+jquery)
- js获取当前地址JS获取当前URL的示例代码
- js实现网页标题栏闪烁提示效果实例分析
- js判断手机和pc端选择不同执行事件的方法
- 原生js仿jq判断当前浏览器是否为ie,精确到ie6~8
- ajaxFileUpload.js插件支持多文件上传的方法
- 点击button获取text内容并改变样式的js实现