信息发布软件,b2b软件,广告发布软件

标题: 一段javascript 代码就知道您用的是什么浏览器版本 [打印本页]

作者: 群发软件    时间: 2017-6-1 00:10
标题: 一段javascript 代码就知道您用的是什么浏览器版本
本帖最后由 群发软件 于 2017-6-1 00:11 编辑

因为ie10-ie11的版本问题,不再支持document.all判断,所以ie判断函数要重新写了
function isIE() { //ie?      if (!!window.ActiveXObject || "ActiveXObject" in window)        return true;      else        return false;    }
第一种,只区分浏览器,不考虑版本

[url=]复制代码[/url]代码如下:

function myBrowser(){
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1;
    if (isOpera) {
        return "Opera"
    }; //判断是否Opera浏览器
    if (userAgent.indexOf("Firefox") > -1) {
        return "FF";
    } //判断是否Firefox浏览器
    if (userAgent.indexOf("Chrome") > -1){
  return "Chrome";
}
    if (userAgent.indexOf("Safari") > -1) {
        return "Safari";
    } //判断是否Safari浏览器
    if (userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera) {
        return "IE";
    }; //判断是否IE浏览器
}
//以下是调用上面的函数
var mb = myBrowser();
if ("IE" == mb) {
    alert("我是 IE");
}
if ("FF" == mb) {
    alert("我是 Firefox");
}
if ("Chrome" == mb) {
    alert("我是 Chrome");
}
if ("Opera" == mb) {
    alert("我是 Opera");
}
if ("Safari" == mb) {
    alert("我是 Safari");
}


第二种,区分浏览器,并考虑IE5.5 6 7 8

[url=]复制代码[/url]代码如下:

function myBrowser(){
    var userAgent = navigator.userAgent; //取得浏览器的userAgent字符串
    var isOpera = userAgent.indexOf("Opera") > -1; //判断是否Opera浏览器
    var isIE = userAgent.indexOf("compatible") > -1 && userAgent.indexOf("MSIE") > -1 && !isOpera; //判断是否IE浏览器
    var isFF = userAgent.indexOf("Firefox") > -1; //判断是否Firefox浏览器
    var isSafari = userAgent.indexOf("Safari") > -1; //判断是否Safari浏览器
    if (isIE) {
        var IE5 = IE55 = IE6 = IE7 = IE8 = false;
        var reIE = new RegExp("MSIE (\\d+\\.\\d+);");
        reIE.test(userAgent);
        var fIEVersion = parseFloat(RegExp["$1"]);
        IE55 = fIEVersion == 5.5;
        IE6 = fIEVersion == 6.0;
        IE7 = fIEVersion == 7.0;
        IE8 = fIEVersion == 8.0;
        if (IE55) {
            return "IE55";
        }
        if (IE6) {
            return "IE6";
        }
        if (IE7) {
            return "IE7";
        }
        if (IE8) {
            return "IE8";
        }
    }//isIE end
    if (isFF) {
        return "FF";
    }
    if (isOpera) {
        return "Opera";
    }
}//myBrowser() end
//以下是调用上面的函数
if (myBrowser() == "FF") {
    alert("我是 Firefox");
}
if (myBrowser() == "Opera") {
    alert("我是 Opera");
}
if (myBrowser() == "Safari") {
    alert("我是 Safari");
}
if (myBrowser() == "IE55") {
    alert("我是 IE5.5");
}
if (myBrowser() == "IE6") {
    alert("我是 IE6");
}
if (myBrowser() == "IE7") {
    alert("我是 IE7");
}
if (myBrowser() == "IE8") {
    alert("我是 IE8");
}


下面给出一个判断当前浏览器是IE的JS代码.
原理是利用了IE与标准浏览器在处理数组的toString方法的差异做成的。对于标准游览器,如果数组里面最后一个字符为逗号,JS引擎会自动剔除它。


能力检测
在编写代码之前先检测特定浏览器的能力。例如,脚本在调用某个函数之前,可能要先检测该函数首付存在。这种检测方法将开发人员从考虑具体的浏览器类型和版本中解放出来,让他们把注意力集中到相应的能力是否存在上。能力检测无法精确地检测特定的浏览器和版本。
怪癖检测
怪癖实际上是浏览器实现中存在的bug,例如早期的webkit中就存在一个怪癖,即它会再for-in循环中返回被隐藏的属性。怪癖检测通常涉及到运行一段代码,然后确定浏览器是否存在某个怪癖。由于怪癖检测无法精确地检测特定的浏览器和版本。
用户代理检测
通过检测用户代理字符串来识别浏览器。用户代理字符串中包含大量与浏览器有关的信息,包括浏览器、平台、操作系统及浏览器版本。用户代理字符串有过一段相当长的发展历史,在此期间,浏览器提供商视图通过在用户代理字符串总添加一些欺骗性信息,欺骗网站详细自己的浏览器是另外一种浏览器。用户代理检测需要特殊的技巧,特别是要注意Opera会隐瞒其用户代理字符串的情况。即便如此,通过用户代理字符串仍然能够检测出浏览器所用的呈现引擎以及所在的平台,包括移动设备和游戏系统。
在每一次HTTP请求过程中,用户代理字符串是作为响应首部发送的,而且该字符串可以通过Javascript的navigator.userAgent属性访问。在服务器端,通过检测用户代理字符串来确定用户使用的浏览器是一种常用而且广为接受的做法。而在客户端,用户代理检测一般被当作一种万不得已的做法,其优先级排在能力检测和怪癖检测之后。
var client = function(){ // 呈现引擎 var engine = {  ie:0,  gecko:0,  webkit:0,  khtml:0,  opera:0,  // 完整的版本号  ver:null }; // 浏览器 var browser = {  // 主要浏览器  ie:0,  firefox:0,  safari:0,  konq:0,  opera:0,  chrome:0,  // 具体的版本号  ver:null }; // 检测呈现引擎和浏览器 var ua = navigator.userAgent; if (window.opera) {  engine.ver = browser.ver = window.opera.version();  engine.opera = browser.opera = parseFloat(engine.ver); } else if (/AppleWebKit\/(\S+)/.test(ua)) {  engine.ver = RegExp["$1"];  engine.webkit = parseFloat(engine.ver);  // 确定是Chrome还是Safari  if (/Chrome\/(\S+)/.test(ua)) {   browser.ver = RegExp["$1"];   browser.chrome = parseFloat(engine.ver);  } else if (/Version\/(S+)/.test(ua)) {   browser.ver = RegExp["$1"];   browser.safari = parseFloat(browser.ver);  } else {   // 近似地确定版本号   var safariVersion = 1;   if (engine.Webkit <100) {    safariVersion = 1;   } else if (engine.webkit < 312) {    safariVersion = 1.2;   } else if (engine.webkit < 412) {    safariVersion = 1.3;   } else {    safariVersion = 2;   }   browser.safari = browser.ver = safariVersion;  } } else if (/KHTML\/(S+)/.test(ua) || /Konqueror\/([^;]+)/.test(ua)) {  engine.ver = browser.ver = RegExp["$1"];  engine.khtml = browser.kong = parseFloat(engine.ver); } else if (/rv[^\)]+)\) Gecko\/\d{8}/.test(ua)){  engine.ver = RegExp["$1"];  engine.gecko = parseFloat(engine.ver);  // 确定是不是firefox  if (/Firefox\/(S+)/.test(ua)) {   browser.ver = RegExp["$1"];   browser.firefox = parseFloat(browser.ver);  } } else if (/MSIE ([^;]+)/.test(ua)) {  engine.ver = browser.ver = RegExp["$1"];  engine.ie = browser.ie = parseFloat(engine.ver); } // 检测浏览器 browser.ie = engine.ie; browser.opera = engine.opera; // 返回这些对象 return {  engine:engine,  browser: browser }}();console.log(client.engine);console.log(client.browser);
Tangram 检测浏览器源码
/** * 声明baidu包 */var baidu = baidu || {version: "1-3-2"}; // meizz 20100513 将 guid 升级成 \x06baidu.guid = "$BAIDU$";//提出guid,防止修改window[undefined] 20100504 berg/** * meizz 2010/02/04 * 顶级域名 baidu 有可能被闭包劫持,而需要页面级唯一信息时需要用到下面这个对象 */window[baidu.guid] = window[baidu.guid] || {};/** * 声明baidu.browser包 */baidu.browser = baidu.browser || {};/** * 判断是否为isGecko */baidu.browser.isGecko = /gecko/i.test(navigator.userAgent) && !/like gecko/i.test(navigator.userAgent);/** * 判断是否为isWebkit */baidu.browser.isWebkit = /webkit/i.test(navigator.userAgent);/** * 判断是否为标准模式 */baidu.browser.isStrict = document.compatMode == "CSS1Compat";/** * 判断是否为safari浏览器 */if ((/(\d+\.\d)(\.\d)?\s+safari/i.test(navigator.userAgent) && !/chrome/i.test(navigator.userAgent))) { baidu.browser.safari = parseFloat(RegExp['\x241']);}/** * 判断是否为opera浏览器 */if (/opera\/(\d+\.\d)/i.test(navigator.userAgent)) { baidu.browser.opera = parseFloat(RegExp['\x241']);}/** * 判断是否为chrome浏览器 */if (/chrome\/(\d+\.\d)/i.test(navigator.userAgent)) { baidu.browser.chrome = parseFloat(RegExp['\x241']);}/** * 判断是否为ie浏览器 */if (/msie (\d+\.\d)/i.test(navigator.userAgent)) { baidu.ie = baidu.browser.ie = document.documentMode || parseFloat(RegExp['\x241']);}/** * 判断是否为firefox浏览器 */if (/firefox\/(\d+\.\d)/i.test(navigator.userAgent)) { baidu.browser.firefox = parseFloat(RegExp['\x241']); // '\x241' 是八进制表示法 '\x24' 对应字符 '$' ,所以 '\x241' 等同于 '$1'



浏览器名称:Microsoft Internet Explorer
浏览器版本:4





浏览器:Microsoft Internet Explorer

浏览器版本:4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET4.0C; .NET4.0E; Maxthon 2.0)

代码:Mozilla

平台:Win32

Cookies 启用:true

浏览器的用户代理报头:Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET4.0C; .NET4.0E; Maxthon 2.0)




作者: huangge    时间: 2017-6-2 04:23
漂亮,高端大气上档次,大爱,服务态度也好,值得推荐的设计团队,希望生意会因此好一点!
作者: q1598188    时间: 2017-6-6 20:48
模板操作简单方便,店家讲解详细,有详细的安装程序,卖家服务好,有问必答,而且都是第一时间给予协助,解决了很多问题,大家有需要就买这家就对了,很值得信任的卖家!合作非常愉快,下次还来
作者: aluoting    时间: 2017-6-10 12:46
任了,就像巴黎欧莱雅,你值得拥有
作者: aluoting    时间: 2017-6-12 06:04
家,.什么问题都一一解答
作者: bysqb    时间: 2017-6-12 08:32
都说颜值很重要,开始我还不太相信,等到店铺装修好了,看到的那一刻,觉得确实大气不一般,整体的风格和感觉都是
作者: 261741908    时间: 2017-6-14 11:21
业,必须要好评啊,下次还会来的,么么哒!!!!!
作者: w8899    时间: 2017-6-22 16:42
我们做酒店的公众平台,不错。售后服务也非常不错。大家可以放心购买。
作者: xoxo110    时间: 2017-6-22 20:14
老板帮我装修的这个店,很漂亮很喜欢,我自己不懂电脑,老板帮我全程装好,真的很感谢。谢谢你们。
作者: a5206662    时间: 2017-6-22 23:03
,很高端的视觉效应,很耐心,设计的很不错,高端大气上档次啊,是自己喜欢的
作者: niubttt    时间: 2017-6-25 08:25
用的非常好
作者: 大宝罗滴滴    时间: 2017-6-30 11:10
,做的很用心,而且技术人员也不厌其烦的耐心指导,大赞!!后台操作很简单,看看教程就会明白,加油!!下次推荐客户给你!
作者: qiaozong01    时间: 2017-6-30 11:18
一流,很不错,服务很周到很全面,不懂得地方卖家会一一解答很满意哦!
作者: brt02    时间: 2017-6-30 12:28
我是个凑数的。。。




欢迎光临 信息发布软件,b2b软件,广告发布软件 (http://www.postbbs.com/) Powered by Discuz! X3.2