ActiveX对象未定义

时间:2010-06-23 12:46:01

标签: firefox activex firebug activexobject

Firebug给了我以下错误:

ActiveXObject is not defined
[Break on this error] var xmlhttp = new ActiveXObject("MSXML2.XmlHttp"); 

我已经读过ActiveX是一个Microsoft框架,它主要用于IE。我工作的地方的所有内部网页都是专门为IE 6设计和构建的,但现在他们希望我研究迁移到Firefox和Safari以及其他主要浏览器所需的内容......而且ActiveX无效Firefox浏览器。

那么我如何让Firefox内容在Firefox和Safari中专门用于在Mac上(对于初学者)?我知道有几个插件?这让事情变得更容易......比如FF ActiveX Host ...但是有没有一个程序化的解决方案呢?

如果没有解决方案,没有插件,对于这个问题,是否可以用Java重写ActiveX片段?

2 个答案:

答案 0 :(得分:5)

我不是网络人,但看起来你的网页使用AJAX。

所以你的问题不是在其他浏览器中使用AcitveX。

尝试这样的事情:

var xmlhttp;
if (window.XMLHttpRequest) {
  xmlhttp = new XMLHttpRequest();
} else {
  try { 
    xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
  } catch (e) {
    try { 
      xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
    } catch (e) {
      xmlhttp = false; 
    }
  }
}

答案 1 :(得分:3)

除了IE支持之外,几乎所有相关浏览器的插件API都是NPAPI,例如, this introduction

我不知道任何适用于ActiveX的透明程序化资源,特别是因为它只是一种Windows技术。

替代方案可能是FireBreath项目,它可以简化NPAPI的工作,并为您提供NPAPI和ActiveX的抽象层 - 这个想法是您必须只编写一次大部分中心部分。 /> 免责声明:我是该项目的所有者之一,因此可能存在偏见;)