DIV CSS 佈局教程網

 DIV+CSS佈局教程網 >> 網頁腳本 >> JavaScript入門知識 >> AJAX入門 >> AJAX詳解 >> ajax如何處理火狐浏覽器或其它非ie浏覽器的兼容性
ajax如何處理火狐浏覽器或其它非ie浏覽器的兼容性
編輯:AJAX詳解     
 如果選擇的浏覽器不是 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對象,無論運行什麼樣的浏覽器。

XML學習教程| jQuery入門知識| AJAX入門| Dreamweaver教程| Fireworks入門知識| SEO技巧| SEO優化集錦|
Copyright © DIV+CSS佈局教程網 All Rights Reserved