<noframes id="hvfzz">

<noframes id="hvfzz"><form id="hvfzz"><th id="hvfzz"></th></form>

        <address id="hvfzz"><th id="hvfzz"><th id="hvfzz"></th></th></address><address id="hvfzz"><address id="hvfzz"></address></address>

        鍍金池/ 教程/ HTML/ Ajax 瀏覽器支持
        Ajax 技術
        Ajax 安全
        Ajax 示例
        Ajax 瀏覽器支持
        Ajax 實戰
        Ajax XMLHttpRequest
        什么是 Ajax?
        Ajax 數據庫操作
        Ajax 相關問題

        Ajax 瀏覽器支持

        并非所有的瀏覽器都支持 Ajax。下面是一個支持 Ajax 的主流瀏覽器列表:

        • Mozilla FireFox 1.0 及以上版本。
        • Netscape 7.1 及以上版本。
        • Apple Safari 1.2 及以上版本。
        • 微軟 IE 5 及以上版本。
        • Konqueror。
        • Opera 7.6 及以上版本。

        當我們編寫下一個應用程序時,要考慮那些不支持 Ajax 的瀏覽器。

        注意:當我們說某個瀏覽器不支持 Ajax 時,只是意味著該瀏覽器不支持創建 JavaScript 對象 XMLHttpRequest 對象。

        針對瀏覽器編寫代碼

        讓我們的源代碼兼容瀏覽器最簡單的方式就是在我們的 JavaScript 中使用 try..catch 塊。

        <html>
        <body>
            <script language="javascript" type="text/javascript">
            <!-- 
            // 支持瀏覽器的源碼
            function AjaxFunction(){
                var AjaxRequest;  // 緩存XHR對象便于 Ajax 使用
        
                try{
                    // Opera 8.0+, Firefox, Safari 
                    AjaxRequest = new XMLHttpRequest();
                }catch (e){
        
                    // Internet Explorer Browsers
                    try{
                        AjaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
                    }catch (e) {
                        try{
                            AjaxRequest = new ActiveXObject("Microsoft.XMLHTTP");
                        }catch (e){
                            // 錯誤處理
                            alert("Your browser broke!");
                            return false;
                        }
                    }
                }
            }
            //-->
            </script>
            <form name='myForm'>
            Name: <input type='text' name='username' /> <br />
            Time: <input type='text' name='time' />
            </form>
        </body>
        </html>

        在上面的 JavaScript 代碼中,我們三次嘗試獲得 XMLHttpRequest 對象。下面是第一次嘗試:

        • AjaxRequest = new XMLHttpRequest();

        這適用于 Opera 8.0+,FireFox 和 Safari 瀏覽器。如果它失敗,接下來我們兩次嘗試針對 IE 瀏覽器創建正確的對象:

        • AjaxRequest = new ActiveXObject("Msxml2.XMLHTTP");
        • AjaxRequest = new ActiveXObject("Microsoft.XMLHTTP");

        如果它還是不工作,那么我們可能在使用一個不支持 XMLHttpRequest 的非常過時的瀏覽器,這也意味著它不支持 Ajax。

        但最有可能的是,我們的 AjaxRequest 變量現在被設置為瀏覽器使用的 XMLHttpRequest 標準并可以開始發送數據到服務器。下一章會解釋分步進行的 Ajax 工作流。

        上一篇:Ajax 相關問題下一篇:什么是 Ajax?