2017-03-18 125 views
1

我正在使用jQuery 1.12。但我的问题是如何检查浏览器支持Ajax或不。如果浏览器支持ajax,那么我想用ajax来改变页面内容。如何检查浏览器是否支持ajax?

+0

'if(true){/*..browser supports ajax ... * /}'当然,由于条件是一个不变量,所以可以删除'if'。 –

+1

谢谢@ T.J.Crowder – hime

回答

-1

在发现这一点:http://programmerguru.com/ajax-tutorial/browser-support/

Here is the code snippet which checks if the browser supports AJAX or not. 
? 
<script type="text/javascript"> 
var xmlhttp; 
function checkAJAXSupport() { 
    if (window.XMLHttpRequest) { // Mozilla, Safari, ... 
     xmlhttp= new XMLHttpRequest(); 
     alert("Yes. Your browser must be one among them - Mozilla, Safari, Chrome, Rockmelt, IE 8.0 or above"); 
    } else if (window.ActiveXObject) { // IE 
     try { 
     xmlhttp= new ActiveXObject("Msxml2.XMLHTTP"); 
     alert("Yes. Your browser must be IE"); 
     } 
     catch (e) { 
     try { 
      xmlhttp= new ActiveXObject("Microsoft.XMLHTTP"); 
      alert("Yes. Your browser must be IE"); 
     } 
     catch (e) {} 
     } 
    } 
if (!xmlhttp) { 
     alert("No. Giving up Cannot create an XMLHTTP instance. Your browser is outdated!"); 
     return false; 
    } 
} 
</script> 
4

几乎所有的浏览器现在支持AJAX。

如果你仍然想测试它,你可以检查XMLHttpRequest

if (window.XMLHttpRequest) { 

    // Supports Ajax. 

    } else { 

    //No. 
} 
+0

谢谢你的工作.. – hime

+1

@hime:当心这个测试会在旧IE上失败,但jQuery v1.12仍然支持旧IE浏览器的ajax。我对这个问题的评论意见是:我不知道在现代世界中没有支持Ajax的任何**浏览器。 –

0
<script language="javascript" type="text/javascript"> 
    <!-- 

    function ajaxFunction(){ 
     var ajaxRequest; // The variable that makes Ajax possible! 

     try{ 
     // Opera 8.0+, Firefox, Safari (1st attempt) 
     ajaxRequest = new XMLHttpRequest(); 
     }catch (e){ 
     // IE browser (2nd attempt) 
     try{ 
      ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP"); 
     }catch (e) { 
      try{ 
     // 3rd attempt 
       ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP"); 
      }catch (e){ 

       alert("Failure"); 
       return false; 
      } 
     } 
     } 
    } 
    //--> 
    </script> 

单独尝试三次,以使XMLHttpRequest对象。 如果所有情况均失败,则确定浏览器已过时并且不支持ajax。希望这可以帮助!

相关问题