最近做了一个图片拖动剪裁的功能。发现该功能在ie6,e7,ie8,ie9,火狐,chrome,safari,opera以及一些ie浏览器内核(考虑到大多数国人用的还是ie浏览器以及ie内核的国产浏览器)浏览器比如360浏览器,世界之窗浏览器下边都是正常的,唯独该死的马桶(Maxthon)不能正常显示。请问如何判断当前浏览器是遨游浏览器?要求:如果是遨游则为true,否则为false!
试了这几种方法:
一:
    function IsMaxthon() {
                try {
                    window.external.max_version;
                    return true;
                }
                catch (e) {
                    return false;
                }  
            };
            alert(IsMaxthon());
二:
    function IsMaxthon() {
                try {
                    window.external.max_invoke("GetHotKey");
                    return true;
                } catch (ex) {
                    return false;
                }
            };
            alert(IsMaxthon());
貌似不能正常区分开来,有人测试过吗???

解决方案 »

  1.   

     <HTML>  
      <HEAD>  
          <TITLE>isMaxthon maxthonVersion</TITLE>  
      </HEAD>  
      <BODY>  
      <script type="text/javascript">  
      function isMaxthon()   
      {   
          try  
          {   
              window.external.max_version;   
              return true;   
          }  
          catch (e)  
          {   
              return false;   
          }  
      }  
        
      alert(isMaxthon());  
        
      function maxthonVersion()  
      {  
          if(window.external && window.external.max_version)  
          {  
              return window.external.max_version.substr(0,1);  
          }  
          return undefined;  
      }  
        
      alert(maxthonVersion());  
      </script>  
      </BODY>  
      </HTML> 
    在遨游下测试结果为:true,3
    在火狐下测试结果为:true,undefined
    在chorme下测试结果为:true,undefined
    在ie6下测试为:true,undefined
    在ie8下测试结果为:false
    我参考的是这个帖子:http://topic.csdn.net/u/20100722/11/a69f3000-dc45-4e24-889f-5764ba2ade88.html
    你可以根据是否以上两个判断(包括是否存在版本号)来区分遨游。
      

  2.   

    你可以这样写:
      function isMaxthon() {
                    try { 
                        return window.external.max_version.substr(0, 1);
                    }
                    catch (e) {
                        return undefined;
                    }
                } 
                alert(isMaxthon());
    如果不为undefined则为傲游浏览器,否则为遨游