7

i have this error in Chrome "Uncaught ReferenceError: ActiveXObject is not defined "

my code is

function loadModel() {

            //----------------------------------------------------------------------------------------------
            document.getElementById("lModelMsg").innerText = "Loading...";
            document.getElementById("lPartMsg").innerText = "";
            var dMfg = document.getElementById("dManufacturer");
            var id = dMfg.options[dMfg.selectedIndex].value;
            var xml = CreateAsset.LoadModel(id);
            var xmlDoc = new ActiveXObject("Microsoft.XMLDOM");
            var Flag;
            Flag = xmlDoc.loadXML(xml.value);
            if (Flag) {......................
Dawood Ahmed
  • 1,612
  • 4
  • 23
  • 36

3 Answers3

5

ActiveX is a Microsoft-proprietary framework. It is supported only in MS products (i.e, IE)

You can use jQuery's parseXML method as a cross-browser alternative.

MasterAM
  • 15,074
  • 6
  • 40
  • 62
5

As stated by others, ActiveX is an IE-specific technology.

Try this:

if (window.DOMParser)
{ // Firefox, Chrome, Opera, etc.
    parser=new DOMParser();
    xmlDoc=parser.parseFromString(xml,"text/xml");
}
else // Internet Explorer
{
    xmlDoc=new ActiveXObject("Microsoft.XMLDOM");
    xmlDoc.async=false;
    xmlDoc.loadXML(xml); 
} 
Karl Anderson
  • 33,426
  • 12
  • 62
  • 78
1

The problem is the security setting of your browser is blocking it.

If you try IE6 the code should work. You have to use a dead browser because the new browsers block it from working as part of a killbit fix that Microsoft did to fix a security issue.

Prabakaran G
  • 73
  • 1
  • 13