资讯专栏INFORMATION COLUMN

JS判断浏览器类型和前缀

joyvw / 1602人阅读

/**
*自行修改下面的函数,然后使用
*/
function detectUA($, userAgent) {
            $.os = {};
            $.os.webkit = userAgent.match(/WebKit/([d.]+)/) ? true : false;
            $.os.android = userAgent.match(/(Android)s+([d.]+)/) || userAgent.match(/Silk-Accelerated/) ? true : false;
            $.os.androidICS = $.os.android && userAgent.match(/(Android)s4/) ? true : false;
            $.os.ipad = userAgent.match(/(iPad).*OSs([d_]+)/) ? true : false;
            $.os.iphone = !$.os.ipad && userAgent.match(/(iPhonesOS)s([d_]+)/) ? true : false;
            $.os.ios7 = ($.os.ipad||$.os.iphone)&&userAgent.match(/7_/) ? true : false;
            $.os.webos = userAgent.match(/(webOS|hpwOS)[s/]([d.]+)/) ? true : false;
            $.os.touchpad = $.os.webos && userAgent.match(/TouchPad/) ? true : false;
            $.os.ios = $.os.ipad || $.os.iphone;
            $.os.playbook = userAgent.match(/PlayBook/) ? true : false;
            $.os.blackberry10 = userAgent.match(/BB10/) ? true : false;
            $.os.blackberry = $.os.playbook || $.os.blackberry10|| userAgent.match(/BlackBerry/) ? true : false;
            $.os.chrome = userAgent.match(/Chrome/) ? true : false;
            $.os.opera = userAgent.match(/Opera/) ? true : false;
            $.os.fennec = userAgent.match(/fennec/i) ? true : userAgent.match(/Firefox/) ? true : false;
            $.os.ie = userAgent.match(/MSIE 10.0/i)||userAgent.match(/Trident/7/i) ? true : false;
            $.os.ieTouch = $.os.ie && userAgent.toLowerCase().match(/touch/i) ? true : false;
            $.os.tizen = userAgent.match(/Tizen/i)?true:false;
            $.os.supportsTouch = ((window.DocumentTouch && document instanceof window.DocumentTouch) || "ontouchstart" in window);
            $.os.kindle=userAgent.match(/Silk-Accelerated/)?true:false;
            //features
            $.feat = {};
            var head = document.documentElement.getElementsByTagName("head")[0];
            $.feat.nativeTouchScroll = typeof(head.style["-webkit-overflow-scrolling"]) !== "undefined" && ($.os.ios||$.os.blackberry10);
            $.feat.cssPrefix = $.os.webkit ? "Webkit" : $.os.fennec ? "Moz" : $.os.ie ? "ms" : $.os.opera ? "O" : "";
            $.feat.cssTransformStart = !$.os.opera ? "3d(" : "(";
            $.feat.cssTransformEnd = !$.os.opera ? ",0)" : ")";
            if ($.os.android && !$.os.webkit)
                $.os.android = false;
            var items=["Webkit","Moz","ms","O"];
            for(var j=0;j

摘自:App Framework

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/87618.html

相关文章

  • 团队合作前端书写习惯总结

    摘要:函数的名字前缀为动词,以此区分变量和函数示例函数命名命名方法小驼峰式命名法命名规范前缀应当为动词命名建议可使用常见动词约定动词含义返回值判断是否可执行某个动作权限函数返回一个布尔值。含有此值不含有此值判断是否为某个值函数返回一个布尔值。CSS 规范 CSS 书写规范 class类: 小写字母,-分割; 图片: 小写字母,‘-’或者‘_’ 分...

    番茄西红柿 评论0 收藏0
  • js全屏模式轻松掌握[局部元素全屏展示]

    摘要:推荐这么做,因为如果每个都要这样重复的判断浏览器前缀,那也太恶心了浏览器是否支持全屏模式属性返回一个布尔值,表示当前文档是否可以切换到全屏状态。 showImg(https://segmentfault.com/img/remote/1460000017229080?w=700&h=467); 我第一次对网页全屏模式有概念,是那种网页播放视频的全屏播 放的那种。感觉很强,前几个星期有个...

    amc 评论0 收藏0
  • JS常用方法函数

    摘要:例如,表示以上未涉及到的其他对象,例如,表示全局变量,例如,道格拉斯的方法等同于方法 JS常用方法函数 字符串长度截取 惰性求值 闭包 基本包装类型(包装对象) 对象遍历(最佳方法) 数组遍历(内置方法) 怎么判断一个object是否是数组(array)? 加法操作表 排序方法 前缀规范 道格拉斯的object方法(等同于object.create方法) 1. 字符串长度截取 fu...

    Sike 评论0 收藏0
  • Nextjs中文文档

    摘要:中文站点中文站当前翻译版本为。注意将不能使用在子组件中。只能使用在页面中。替换路由组件默认将新推入路由栈中。以防服务端渲染发生错误,建议事件写在生命周期里。禁止文件路由默认情况,将会把下的所有文件匹配路由如渲染为如果你的项目使用 Next.js 是一个轻量级的 React 服务端渲染应用框架。 Next.js中文站点 http://nextjs.frontendx.cn Next.j...

    luckyw 评论0 收藏0

发表评论

0条评论

joyvw

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<