這篇文章帶給大家的內容是淺談一下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 = 'myForm'> 姓名: <input type = 'text' name = 'username' /> <br /> 时间: <input type = 'text' name = 'time' /> </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中文網其他相關文章!