确定AJAX是否可行?

时间:2009-11-30 14:52:21

标签: jquery ajax internet-explorer-6

我有一个场景,客户端的Internet Explorer 6浏览器不允许创建activex控件的瞬间,使jjery中的ajax无法运行。

这也会在用户浏览器的顶部弹出警告。

有没有检测到ActiveX可用而不会为用户生成任何警告?如果它可用,我想使用ajax,但如果无法创建对象,我希望将函数降级为经典表单。

2 个答案:

答案 0 :(得分:8)

var xhr;
if (window.XMLHttpRequest) {
    xhr = new XMLHttpRequest();
}
else if (window.ActiveXObject) {
    try {
        xhr = new ActiveXObject("Msxml2.XMLHTTP");
    } catch(err) { 

    }
}
else {
    //It couldn't find any of those Ajax objects
}

if(!xhr) {
    //Here you know now that Ajax is not possible with this client
}

这是一个简单的实现。那里有更好的。

更新:

尝试...... JasonWyatt建议的Catch。我错过了。

答案 1 :(得分:0)

注意:您可能希望使用< NoScript>进行完全不需要javascript的回退。标签

此外,这让我想起了bad example from The Daily WTF