武林網web開發網為大家整理了這篇ajax如何解決火狐瀏覽器或其它非ie瀏覽器的兼容性問題,如果這篇文章在您的工作或學習中有幫助,歡迎?;貋砜纯磁叮嗑实慕坛陶堅L問我們的主頁,以下是教程瀏覽:
如果選擇的瀏覽器不是 Internet Explorer,或者為非 Microsoft 瀏覽器編寫代碼,就需要使用不同的代碼。事實上就是 清單 1 所示的一行簡單代碼:
var xmlHttp = new XMLHttpRequest object;。
這行簡單得多的代碼在 Mozilla、Firefox、Safari、Opera 以及基本上所有以任何形式或方式支持 Ajax 的非 Microsoft 瀏覽器中,創建了XMLHttpRequest對象。
結合起來
關鍵是要支持所有瀏覽器。誰愿意編寫一個只能用于 Internet Explorer 或者非 Microsoft 瀏覽器的應用程序呢?或者更糟,要編寫一個應用程序兩次?當然不!因此代碼要同時支持 Internet Explorer 和非 Microsoft 瀏覽器。清單 4 顯示了這樣的代碼。
清單 4. 以支持多種瀏覽器的方式創建 XMLHttpRequest 對象
/* Create a new XMLHttpRequest object to talk to the Web server */
var xmlHttp = false;
/*@cc_on @*/
/*@if (@_jscript_version >= 5)
try {
xmlHttp = new ActiveXObject("Msxml2.XMLHTTP");
} catch (e) {
try {
xmlHttp = new ActiveXObject("Microsoft.XMLHTTP");
} catch (e2) {
xmlHttp = false;
}
}
@end @*/
if (!xmlHttp && typeof XMLHttpRequest != 'undefined') {
xmlHttp = new XMLHttpRequest();
}
現在先不管那些注釋掉的奇怪符號,如@cc_on,這是特殊的 JavaScript 編譯器命令。這段代碼的核心分為三步:
1. 建立一個變量xmlHttp來引用即將創建的XMLHttpRequest對象。
2. 嘗試在 Microsoft 瀏覽器中創建該對象:
o 嘗試使用Msxml2.XMLHTTP對象創建它。
o 如果失敗,再嘗試Microsoft.XMLHTTP對象。
3. 如果仍然沒有建立xmlHttp,則以非 Microsoft 的方式創建該對象。
最后,xmlHttp應該引用一個有效的XMLHttpRequest對象,無論運行什么樣的瀏覽器。
教程內容到此結束,歡迎您再次訪問http://www.49028c.com,我們致力于提供豐富的web開發教程及資源。新聞熱點
疑難解答
圖片精選