<script type="text/javascript">
        var Sys = {};
        var ua = navigator.userAgent.toLowerCase();
        if (window.ActiveXObject)
            Sys.ie = ua.match(/msie ([\d.]+)/)[1]
        else if (document.getBoxObjectFor)
            Sys.firefox = ua.match(/firefox\/([\d.]+)/)[1]
        else if (window.MessageEvent && !document.getBoxObjectFor)
            Sys.chrome = ua.match(/chrome\/([\d.]+)/)[1]
        else if (window.opera)
            Sys.opera = ua.match(/opera.([\d.]+)/)[1]
        else if (window.maxthon)
            Sys.maxthon = ua.match(/maxthon.([\d.]+)/)[1]
        else if (window.openDatabase)
            Sys.safari = ua.match(/version\/([\d.]+)/)[1];
        
        //以下进行测试
        if(Sys.ie) document.write('IE: '+Sys.ie);
        if(Sys.firefox) document.write('Firefox: '+Sys.firefox);
        if(Sys.chrome) document.write('Chrome: '+Sys.chrome);
        if(Sys.opera) document.write('Opera: '+Sys.opera);
        if(Sys.safari) document.write('Safari: '+Sys.safari);
        if(Sys.maxthon) document.write('maxthon: '+Sys.maxthon);    </script>
window.maxthon 这个参数是没有的有什么办法让他显示傲游 1.x 系列的 UserAgent 值是  “Maxthon”,傲游 2.0 的 UserAgent 值是 “Maxthon 2.0″。所以只需要通过程序在 User-Agent 字符串中查找是否出现 “Maxthon” 或者 “Maxthon 2.0″,就能够知道用户是否通过傲游访问该站点。我的UserAgent“Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MAXTHON 2.0”

解决方案 »

  1.   


    Maxthon就是IE内核 放到这里可以
    if (window.ActiveXObject) 
                Sys.ie = ua.match(/msie ([\d.]+)/)[1] 
                Sys.maxthon =
    }
      

  2.   

    试试看<script type="text/javascript"> 
            var Sys = {}; 
            var ua = navigator.userAgent.toLowerCase(); 
            if (window.ActiveXObject) 
                Sys.ie = ua.match(/msie ([\d.]+)/)[1] 
            else if (document.getBoxObjectFor) 
                Sys.firefox = ua.match(/firefox\/([\d.]+)/)[1] 
            else if (window.MessageEvent && !document.getBoxObjectFor) 
                Sys.chrome = ua.match(/chrome\/([\d.]+)/)[1] 
            else if (window.opera) 
                Sys.opera = ua.match(/opera.([\d.]+)/)[1] 
            else if (window.maxthon){
                re = /maxthon \d+\.\d+/i
                if(re.test(us)) Sys.maxthon = ua.match(/maxthon (\d+)/i)[1];
                else Sys.maxthon = 1
            }
            else if (window.openDatabase) 
                Sys.safari = ua.match(/version\/([\d.]+)/)[1]; 
            
            //以下进行测试 
            if(Sys.ie) document.write('IE: '+Sys.ie); 
            if(Sys.firefox) document.write('Firefox: '+Sys.firefox); 
            if(Sys.chrome) document.write('Chrome: '+Sys.chrome); 
            if(Sys.opera) document.write('Opera: '+Sys.opera); 
            if(Sys.safari) document.write('Safari: '+Sys.safari); 
            if(Sys.maxthon) document.write('maxthon: '+Sys.maxthon);     </script> 
      

  3.   

    3楼感觉不行 因为 window.maxthon是不存在的 是我胡邹的。关于2楼我感觉好象可行那后面应该接啥呢?
      

  4.   


    <script type="text/javascript"> 
            var Sys = {}; 
            var ua = navigator.userAgent.toLowerCase(); 
            if (window.ActiveXObject){
                Sys.ie = ua.match(/msie ([\d.]+)/)[1]
                re = /maxthon/i;
                if (re.test(ua)){
                   re = /maxthon \d+\.\d+/i
                   if(re.test(ua)) Sys.maxthon = ua.match(/maxthon (\d+)/i)[1];
                   else Sys.maxthon = 1
                }
            }
            else if (document.getBoxObjectFor) 
                Sys.firefox = ua.match(/firefox\/([\d.]+)/)[1] 
            else if (window.MessageEvent && !document.getBoxObjectFor) 
                Sys.chrome = ua.match(/chrome\/([\d.]+)/)[1] 
            else if (window.opera) 
                Sys.opera = ua.match(/opera.([\d.]+)/)[1] 
            else if (window.openDatabase) 
                Sys.safari = ua.match(/version\/([\d.]+)/)[1]; 
            
            //以下进行测试 
            if(Sys.ie) document.write('IE: '+Sys.ie); 
            if(Sys.firefox) document.write('Firefox: '+Sys.firefox); 
            if(Sys.chrome) document.write('Chrome: '+Sys.chrome); 
            if(Sys.opera) document.write('Opera: '+Sys.opera); 
            if(Sys.safari) document.write('Safari: '+Sys.safari); 
            if(Sys.maxthon) document.write('maxthon: '+Sys.maxthon);     </script> 
      

  5.   

    4楼好象不行  我通过遨游2.5.3版本的 反馈是IE6.0 有没有办法
    一旦遨游 反馈的话 既反馈遨游又反馈IE也就是 maxthon 2.5.3 (ie 6.0)
      

  6.   

    思路是这样的 我不懂JAVSSPIRT       if (window.ActiveXObject) 
                Sys.ie = ua.match(/msie ([\d.]+)/)[1] 
    接下来是当是有IE内核的MAXTHON 就显示 是
    MSIE 6.0,MAXTHON 2.0
      

  7.   

    原来的代码没区分大小写
    以下测试下来可以的,
    假设ua = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MAXTHON 2.0"
    <script type="text/javascript"> 
            var Sys = {}; 
            var ua = navigator.userAgent.toLowerCase(); 
            //ua = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MAXTHON 2.0"
            if (window.ActiveXObject){
                Sys.ie = ua.match(/msie ([\d.]+)/i)[1]
                re = /maxthon/i;
                if (re.test(ua)){
                   re = /maxthon \d+\.\d+/i
                   if(re.test(ua)) Sys.maxthon = ua.match(/maxthon (\d+)/i)[1];
                   else Sys.maxthon = 1
                }
            }
            else if (document.getBoxObjectFor) 
                Sys.firefox = ua.match(/firefox\/([\d.]+)/i)[1] 
            else if (window.MessageEvent && !document.getBoxObjectFor) 
                Sys.chrome = ua.match(/chrome\/([\d.]+)/i)[1] 
            else if (window.opera) 
                Sys.opera = ua.match(/opera.([\d.]+)/i)[1] 
            else if (window.openDatabase) 
                Sys.safari = ua.match(/version\/([\d.]+)/i)[1]; 
            
            //以下进行测试 
            if(Sys.ie) document.write('IE: '+Sys.ie); 
            if(Sys.firefox) document.write('Firefox: '+Sys.firefox); 
            if(Sys.chrome) document.write('Chrome: '+Sys.chrome); 
            if(Sys.opera) document.write('Opera: '+Sys.opera); 
            if(Sys.safari) document.write('Safari: '+Sys.safari); 
            if(Sys.maxthon) document.write('maxthon: '+Sys.maxthon); 
        </script> 
      

  8.   

    好象不用这么麻烦,LZ试下<html><body>
    <script type="text/javascript">
    var browser=navigator.appName
    var b_version=navigator.appVersion
    var version=parseFloat(b_version)document.write("Browser name: "+ browser)
    document.write("<br />")
    document.write("Browser version: "+ version)
    </script>
    </body></html>
      

  9.   


    Browser: (function(){
        var ua = navigator.userAgent;
        var isOpera = Object.prototype.toString.call(window.opera) == '[object Opera]';
        return {
          IE:             !!window.attachEvent && !isOpera,
          Opera:          isOpera,
          WebKit:         ua.indexOf('AppleWebKit/') > -1,
          Gecko:          ua.indexOf('Gecko') > -1 && ua.indexOf('KHTML') === -1,
          MobileSafari:   /Apple.*Mobile.*Safari/.test(ua)
        }
      })(),
      

  10.   

    首先关于8楼 我为什么选择这种写法的原因
    if(Sys.maxthon) document.write('maxthon: '+Sys.maxthon); 
    可以具体根据浏览器版本写出自己的需求 而且您给的写法 反馈的是
    Browser name: Microsoft Internet Explorer
    Browser version: 4 关于7楼您给的这个方法不行 仍然反馈IE 6.0
      

  11.   


    // Maxthon版本信息这样可以取得
    // Maxthon环境运行
    <script type="text/javascript">
    if(!!window['external'] && window['external']['max_version']){
    alert(window['external']['max_version'])
    }
    </script>
      

  12.   

    宪哥。您怎么出来了 LCD灯生意不做拉?
      

  13.   


    <script type="text/javascript"> 
            var Sys = {}; 
            var ua = navigator.userAgent.toLowerCase(); 
            //ua = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MAXTHON 2.0"
            if (window.ActiveXObject){
                Sys.ie = ua.match(/msie ([\d.]+)/i)[1]
                if(window.XMLHttpRequest) Sys.ie = 7
                if(window.XDomainRequest) Sys.ie = 8
                re = /maxthon/i;
                if (re.test(ua)){
                   re = /maxthon \d+\.\d+/i
                   if(re.test(ua)) Sys.maxthon = ua.match(/maxthon (\d+)/i)[1];
                   else Sys.maxthon = 1
                }
            }
            else if (document.getBoxObjectFor) 
                Sys.firefox = ua.match(/firefox\/([\d.]+)/i)[1] 
            else if (window.MessageEvent && !document.getBoxObjectFor) 
                Sys.chrome = ua.match(/chrome\/([\d.]+)/i)[1] 
            else if (window.opera) 
                Sys.opera = ua.match(/opera.([\d.]+)/i)[1] 
            else if (window.openDatabase) 
                Sys.safari = ua.match(/version\/([\d.]+)/i)[1]; 
            
            //以下进行测试 
            if(Sys.ie) document.write('IE: '+Sys.ie); 
            if(Sys.firefox) document.write('Firefox: '+Sys.firefox); 
            if(Sys.chrome) document.write('Chrome: '+Sys.chrome); 
            if(Sys.opera) document.write('Opera: '+Sys.opera); 
            if(Sys.safari) document.write('Safari: '+Sys.safari); 
            if(Sys.maxthon) document.write('maxthon: '+Sys.maxthon); 
        </script> 
      

  14.   


    <script type="text/javascript">
    var Sys = {};
    if(!!window['external'] && window['external']['max_version']){
        Sys.maxthon =  parseInt(window['external']['max_version'])
    }alert(Sys.maxthon)</script>
      

  15.   

    大家帮我想想这么写行不行      if (window.ActiveXObject&& !红字部分) 
                Sys.maxthon = ua.match(/maxthon ([\d.]+)/)[1] UserAgent的
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MAXTHON 2.0)我就是想不到 这个红字部分应该怎么表示出来 那样的话就能判断出是用了IE的遨游了
      

  16.   


    window['external']['max_version']//就是存在这里
      

  17.   

    15楼还是IE6.0.....
    还有16楼 恐怕不行  首先不能是弹出的窗口 因为如果网页上应用的话 就要弹出窗口非常影响浏览 必须是在页面内的 另外我根据您给的代码测试了一下 给出了一个2后面就什么都没有了 
    有一个我比较注意的现象是 11楼的信息中出现了版本 应该可以在网页上显示出来的 您给我的好象可以直接读出版本['external']['max_version']这俩个参数是啥 能讲讲吗?
      

  18.   


    这个EXTrnal 就是浏览器名字吗?
      

  19.   

    re = /maxthon/i;
    if (re.test(ua)){这个判断不就是了?}
      

  20.   

    15楼 不可能还是 IE6啊,代码测过的,ie7,ie8都可以判别,你的ua是什么 ?
      

  21.   


    首先我的IE就是IE6 我想跟 您说的不行是 我是用IE6内核的遨游您其实不用去判断他是不是IE7或着IE8 因为原先他就能判断是IE几 主要是让遨游访问他出现是遨游(IE6)
    可能是我描述上的问题。和开头给出的出错我目前的UserAgent“Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; MAXTHON 2.0)” 
      

  22.   

    请访问一下 http://www.chakucun.com/test3.asp 看看对不对?显示的是什么? 
      

  23.   


    我的#16 不足够你判断maxthon么?
      

  24.   

    我这里测试 ua 写死为ua = "Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MAXTHON 2.0"的话,显示:
    IE: 8maxthon: 2 
      

  25.   

    主要原因是有些maxthon浏览器 userAgent返回的是跟IE一样的...
      

  26.   

     这不可能啊  我maxthon: 2完全没有显示
      

  27.   

    不妨 alert(ua)看一下,如果包含MATHON,就一定能判断到,如果只是和IE一样的,那我的方法我15楼的方法无效。用 s_liangchao1s的可以得到2
      

  28.   

    大家帮我想想这么写行不行      if (window.ActiveXObject&& !红字部分) 
                Sys.maxthon = ua.match(/maxthon ([\d.]+)/)[1] UserAgent的 
    Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; MAXTHON 2.0) 我就是想不到 这个红字部分应该怎么表示出来 那样的话就能判断出是用了IE的遨游了我这个想法行不行???
      

  29.   

    我就是用正则表达式判断ua中 有没有 MAXTHON 这个字符串的呀
      

  30.   

    mozilla/4.0(compatible;msie6.0;windows5.1;sv1;.net clr 1.1.4322)
    你是弹射出来的  而且每个反馈的不能修改  我需要的是在他
    页面上的
      

  31.   

    郁闷那。 那遨游就这么难辨别 其实我不在乎用啥语言写出来 php asp都行  就是要显示出来用的是什么浏览器什么版本 而这个反馈的版本可以写一些提示升级啊之类的字
      

  32.   

    我很很郁闷啊  原本想的好的可以根据UserAgent来判断版本结果 哎..
      

  33.   

    window['external']['max_version'] 
    小新别走根据这个能不能在页面上发反馈出来啊
      

  34.   

    if(window.external.max_version) alert(window.external.max_version); 输出看看是什么值