js检测搜狗浏览器、百度浏览器、微信浏览器代码实例
本章节分享一段代码实例,它实现了对各种浏览器类型的判断功能。
比如搜狗浏览器、百度浏览器、微信浏览器等等,这段代码可能会随着时间的推移并不准确,因为浏览器的一些标识可能会发生变化,不过在当前还是非常好用的,代码实例:
Angela.browser = { //#浏览器
browsers: { //# 浏览器内核类别
weixin: /micromessenger(/[d.]+)*/ //微信内置浏览器
, mqq: /mqqbrowser(/[d.]+)*/ //手机QQ浏览器
, uc: /ucbrowser(/[d.]+)*/ //UC浏览器
, chrome: /(?:chrome|crios)(/[d.]+)*/ //chrome浏览器
, firefox: /firefox(/[d.]+)*/ //火狐浏览器
, opera: /opera(/|s)([d.]+)*/ //欧朋浏览器
, sougou: /sogoumobilebrowser(/[d.]+)*/ //搜狗手机浏览器
, baidu: /baidubrowser(/[d.]+)*/ //百度手机浏览器
, 360: /360browser([d.]*)/ //360浏览器
, safari: /safari(/[d.]+)*/ //苹果浏览器
, ie: /msies([d.]+)*/ // ie 浏览器
}
//@errCall : 错误回调
, addFav: function (url, title, errCall) { //#加入收藏夹
try {
window.external.addFavorite(url, title);
} catch (e) {
try {
window.sidebar.addPanel(title, url, '');
} catch (e) {
errCall();
}
}
},
//浏览器版本
coreInit: function () { //#noadd
var i = null
, browsers = this.browsers
, ua = window.navigator.userAgent.toLowerCase()
, brower = ''
, pos = 1
;
for (i in browsers) {
if (brower = ua.match(browsers<i>)) {
if (i == 'opera') {
pos = 2;
} else {
pos = 1;
}
this.version = (brower[pos] || '').replace(/[/s]+/, '');
this.core = i;
return i;
}
}
}
// 检测IE版本 !仅支持IE: 5,6,7,8,9 版本
, ie: (function () { //# 检测IE版本 !仅支: ie5,6,7,8,9
var v = 3, div = document.createElement('div'), all = div.getElementsByTagName('i');
while (
div.innerHTML = '<!--[if gt IE ' + (++v) + ']>[i]</i><![endif]-->',
all[0]
);
return v > 4 ? v : false;
})()
, isWebkit: /webkit/i.test(navigator.userAgent)
};
声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至201542412@QQ.com举报,一经查实,本站将立刻删除。
相关推荐
-
帝国cms7.5版本的反馈信息发邮件通知
帝国cms反馈信息邮件通知的方法,包含邮件的正文显示直接需要的内容。
-
帝国CMS升级以及PHP版本为7.*空白问题解决
现在PHP都已经有7.3.6的版本了,以前安装的帝国CMS都是老版本而且PHP是5点几的版本,那么如何进行升级以及解决升级后发现后台登录空白问题呢?
-
Apache安装杰奇2.2以上版本Deprecated: Call-time pass-by-reference has been dep...
Apach安装杰奇2.2以上版本安装时报错提示Dprcatd:Call-timpass-by-rfrnchasbndprcatd如图:解决方法是:打开php5.3下面的:php.ini,将allow_cal...
-
关于jquery升级至3.5版本之后的兼容问题Uncaught TypeError: $(...).size is not a function
关于jqury升级至3.5版本之后的兼容问题UncaughtTyprror:$(...).sizisnofunction控制台报错如上图,打开Fram.js可以看到里面定义大小的全是.siz()而jqu...
-
帝国CMS防止广告JS被浏览器过滤的修改方法是什么?
方法1:(修改广告位路径)修改admintoolLisd.php找到页面中生成广告js这条把下面的$fil=.$publicr.$adid.;替换成$fil=.