2

Firebugは私に次のエラーを出します:

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

ActiveXはMicrosoftフレームワークであり、主にIEで使用されていることを読みました。私が働いている場所のすべての内部Webページは、IE 6専用に設計および構築されていますが、Firefox、Safari、およびその他の主要なブラウザーに移行するために何が必要かを調査するように求められています...そしてActiveXはで機能しませんFirefox。

では、ActiveXをFirefoxとSafari、特にMac(初心者向け)で機能させるにはどうすればよいですか?プラグインがいくつかあることを知っていますか?それは物事を簡単にしました...FFActiveXホストのように...しかしこれに対するプログラム的な解決策はありますか?

この問題に対する解決策やプラグインがない場合、JavaでActiveXの部分を書き直すことは可能ですか?

4

2 に答える 2

5

私はWeb担当者ではありませんが、あなたのWebページは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; 
    }
  }
}
于 2010-06-24T02:40:31.740 に答える
3

プラグイン-IEがサポートする以外のほぼすべての関連ブラウザはNPAPIです。たとえば、この概要を参照してください。

特にWindowsのみのテクノロジであるため、ActiveXを適応させるための透過的なプログラムによる解決策を認識していません。

別の方法として、FireBreathプロジェクトがあります。これは、NPAPIの操作を容易にするだけでなく、NPAPIとActiveXの抽象化レイヤーを提供します。つまり、ほとんどの中心部分を1回だけ作成する必要があるという考え方です。
免責事項:私はプロジェクトの所有者の1人であるため、おそらく偏見があります;)

于 2010-06-23T15:02:03.100 に答える