Dawood Ahmed
Dawood Ahmed

Reputation: 1764

Uncaught ReferenceError: ActiveXObject is not defined Error in Chrome

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) {......................

Upvotes: 9

Views: 132329

Answers (3)

Prabakaran G
Prabakaran G

Reputation: 83

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.

Upvotes: 1

Karl Anderson
Karl Anderson

Reputation: 34846

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); 
} 

Upvotes: 6

MasterAM
MasterAM

Reputation: 16478

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.

Upvotes: 5

Related Questions