浏览器与AJAX功能的兼容性

时间:2010-02-27 13:37:37

标签: javascript

我有以下AJAX函数调用PHP文件来确定数据库中是否存在电子邮件。

<script language="javascript" type="text/javascript">
//Browser Support Code
function ajaxFunction(Email){

    var url="index.php?EmailCheck=Yes&Email=" + Email;

var ajaxRequest;  // The variable that makes Ajax possible!

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){
            // Something went wrong
            alert("Your browser broke!");
            return false;
        }
    }
}
// Create a function that will receive data sent from the server
ajaxRequest.onreadystatechange = function(){
    if(ajaxRequest.readyState == 4){
        if(ajaxRequest.responseText == 0) {
                    alert("Sorry that email is not registered.");
                    } else {
                    alert("Login successful.");
                    window.opener.location.reload();
                    window.close();
                    }
    }
}

ajaxRequest.open("GET", url, true);
ajaxRequest.send(null); 

}

是否会有任何不适用的浏览器?我收到了一些用户的投诉,但我无法复制IE,FF或Chrome中的错误。

1 个答案:

答案 0 :(得分:0)

它不适用于Lynx,它可能不适用于某些专门的屏幕阅读器浏览器。如果你真的希望有用户不能使用它,那么为了上帝的缘故,修复错误信息。更好的是,使用像jQuery这样的东西。意识到可以回退到使用隐藏的<iframe>或其他东西而不是XMLHTTPRequest的替代方法。