首頁  >  文章  >  web前端  >  淺談一下Ajax的瀏覽器支持

淺談一下Ajax的瀏覽器支持

青灯夜游
青灯夜游原創
2018-11-08 16:46:202726瀏覽

這篇文章帶給大家的內容是淺談一下Ajax的瀏覽器支持,讓大家了解創建 XMLHttpRequest 物件的兼容性寫法。有一定的參考價值,有需要的朋友可以參考一下,希望對你們有幫助。

首先我們要知道Ajax的關鍵在於XMLHttpRequest 對象,它可以用於在後台與伺服器交換數據,Ajax可有透過它在瀏覽器中取得後台資料。 【相關影片教學推薦:Ajax教學

但不同的瀏覽器建立 XMLHttpRequest 物件的方法是有差異的。例如:

IE 瀏覽器使用 ActiveXObject來創建,而其他的瀏覽器則使用名為 XMLHttpRequest 的 JavaScript 內建物件來建立。

這也就導致瀏覽器對於Ajax的支援是不一樣的,不是所有的瀏覽器都支援Ajax。以下我們來看看支援AJAX的主要瀏覽器清單:

1、Mozilla Firefox 1.0以上版本。

2、Netscape 7.1以上版本。

3、Apple Safari 1.2以上版本。

4、Microsoft Internet Explorer 5及更高版本。

5、Konqueror。

6、Opera 7.6以上版本。

如需針對不同的瀏覽器來建立此對象,我們需要編寫一段特定程式碼。下面我們就來看看建立XMLHttpRequest 物件的相容性寫法:

這裡我們需要在JavaScript中使用到try ... catch語句,對於try ... catch語句的不熟悉的,可以參考之前的文章【js的try ... catch語句是什麼?怎麼使用? 】!

<!DOCTYPE html>
<html>
	<head>
		<meta charset="UTF-8">
		<script language = "javascript" type = "text/javascript">
         //浏览器支持代码
         function ajaxFunction() {
            var ajaxRequest;  // 声明一个ajaxRequest变量,用来保存XMLHttpRequest 对象

            try {
               // 兼容:Opera 8.0+, Firefox, Safari 
               ajaxRequest = new XMLHttpRequest(); //创建XMLHttpRequest 对象
            } catch (e) {

               // 兼容:Internet Explorer 浏览器
               try {
                  ajaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
               } catch (e) {
                  
                  try {
                     ajaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                  } catch (e) {

                     // 出了问题时
                     alert("您的浏览器不支持Ajax!");
                     return false;
                  }
               }
            }
         }
      </script>
	</head>
	<body>
		<form name = &#39;myForm&#39;>
	       姓名: <input type = &#39;text&#39; name = &#39;username&#39; /> <br />
	       时间: <input type = &#39;text&#39; name = &#39;time&#39; />
        </form>
	</body>
</html>

在上面的JavaScript程式碼中,我們嘗試建立XMLHttpRequest物件三次。

我們的第一次嘗試:

// 兼容:Opera 8.0+, Firefox, Safari 
ajaxRequest = new XMLHttpRequest();

這條語句適用於Opera 8.0 ,Firefox和Safari瀏覽器。如果失敗,我們也可以在Internet Explorer瀏覽器上嘗試兩次製作正確的物件:

我們的第二、三次嘗試:相容於Internet Explorer 瀏覽器

//第二次尝试:
// 兼容:Internet Explorer 6.0+
ajaxRequest = new ActiveXObject(“Msxml2.XMLHTTP”);

//第三次尝试:
// 兼容:Internet Explorer 5.5+
ajaxRequest = new ActiveXObject(“Microsoft.XMLHTTP”);

假如這三種方法都不起作用,那麼這個用戶所使用的瀏覽器已經太過時了,他或她會看到一個聲明此瀏覽器不支援AJAX 的提示。

說明:

上面這些瀏覽器客製化的程式碼很長,也很複雜。不過,如果想要建立 XMLHttpRequest 對象,這些程式碼就能派上用場,因此可以在任何需要使用的時間拷貝貼上這些程式碼。上面這些程式碼相容於所有的主流瀏覽器:Internet Explorer、Opera、Firefox 以及 Safari等。

總結:以上就是這篇文章所介紹的全部內容,希望能對大家的學習有所幫助。 

以上是淺談一下Ajax的瀏覽器支持的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn