的ActiveXObject( “WScript.Shell”);在Firefox中未定义?

时间:2013-04-18 10:40:49

标签: javascript firefox activex

这里我试图使用ActiveXObject调用系统计算器。在IE中,它对我来说很好,但在Firefox中它不会出现。我收到了Undefined错误。如何在Firefox中解决这个问题?

try{
    if(gBrowser == 'IE'){
        var shell = new ActiveXObject("WScript.Shell");  
        shell.Run("calc"); 
    }
    else{
        var shell = new ActiveXObject("WScript.Shell");  
        shell.Run("calc",1,true); 
    }
}
catch(e){
    if(gBrowser == 'IE'){
        alert(e.description);
    }
    else{
        alert(e.description);
    }
} 

1 个答案:

答案 0 :(得分:1)

你不能.ActiveX是一种只有Microsoft支持的专有技术,因为IE支持它,Firefox不支持ActiveXObject,也不能访问shell对象。
你可以在FF中创建COM组件,但它需要一个插件和一些明确的努力。在这种情况下可能不是解决方案。

Firefox出于多种原因不支持ActiveX技术。

  • ActiveX仅适用于Windows操作系统,并且作为一个 结果需要它的网页将无法在Linux或Mac上运行。
  • 与Windows操作系统的ActiveX集成 它是恶意软件的目标。