您好,登錄后才能下訂單哦!
這篇文章運用簡單易懂的例子給大家介紹什么是Ajax的瀏覽器支持,代碼非常詳細,感興趣的小伙伴們可以參考借鑒,希望對大家能有所幫助。
首先我們要知道Ajax的關鍵在于XMLHttpRequest 對象,它可以用于在后臺與服務器交換數據,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的瀏覽器支持就分享到這里了,希望以上內容可以對大家有一定的幫助,可以學到更多知識。如果覺得文章不錯,可以把它分享出去讓更多的人看到。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。