我有一个场景,客户端的Internet Explorer 6浏览器不允许创建activex控件的瞬间,使jjery中的ajax无法运行。
这也会在用户浏览器的顶部弹出警告。
有没有检测到ActiveX可用而不会为用户生成任何警告?如果它可用,我想使用ajax,但如果无法创建对象,我希望将函数降级为经典表单。
答案 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。