如何检测客户端浏览器中是否启用了ActiveX?

18 javascript activex

如何检测客户端浏览器中是否启用了ActiveX?

我试过跟随代码,但它在Firefox中不起作用.

window.ActiveXObject not working in Firefox
Run Code Online (Sandbox Code Playgroud)

有任何想法吗?

检查这里的例子:http://jsfiddle.net/qXSvQ/2/

false在运行这个例子时得到了.

Phi*_*lip 24

除Internet Explorer之外的任何内容都不存在ActiveX对象.如果您尝试将它们用于XMLHTTPRequests,请使用XMLHTTPRequest()对象,使用特征检测.

if ("ActiveXObject" in window) { /* Do ActiveX Stuff */ }
else { /* ActiveX doesnt exist, use something else */ }
Run Code Online (Sandbox Code Playgroud)


mpd*_*dio 8

什么不起作用?这会在FF中引发错误吗?怎么样

var hasAX = "ActiveXObject" in window;
Run Code Online (Sandbox Code Playgroud)

  • @twesh它应该**在Firefox和Chrome中返回false; FireFox和Chrome都不支持ActiveX.您正在运行代码以确定FireFox或Chrome是否支持ActiveX.由于FireFox或Chrome都不支持ActiveX,因此该函数应返回"false".测试FireFox和Chrome中的实际代码,它正确返回`false`.答案中缺少什么? (4认同)

Chi*_*e G 8

下面的代码应该可行,它至少适用于IE6和FF 3.6.12.

if(typeof(window.ActiveXObject)=="undefined"){
    alert("ActiveX Object not supported");
}else {
    alert("ActiveX Object  supported");
}
Run Code Online (Sandbox Code Playgroud)

  • @twesh - Firefox**从不**支持ActiveX.正如Chinmayee所说,Firefox将永远返回`undefined`.如果你期望FF支持它,你或许意味着除了ActiveX以外的其他东西? (7认同)