Hi, I'm having trouble extending instances of ActiveXObject using
Object.extend in IE.
I'm getting the message: "Object doesn't support this property or
method"
Here's my sample code, to show working and non-working examples:

var newDef = {
        foo : function(){
                return "hey there";
        }
};

alert("starting");
var string;
var doc;
var obj;
try{
        if(typeof ActiveXObject == "undefined"){
                doc = document.implementation.createDocument("", "", null);
        }else{
                doc = new ActiveXObject("Microsoft.XMLDOM");

        }
        Object.extend(doc, newDef);
        alert("1 object Extended");
        // FF: this message is displayed
}catch(e){
        alert("2 " + e.description);
        // IE : this message is displayed.
}
if(typeof ActiveXObject != "undefined"){
        try{
                Object.extend(ActiveXObject.prototype, newDef);
                alert("3 extended ActiveXObject.prototype");
                // IE : this message is displayed
                doc = new ActiveXObject("Microsoft.XMLDOM");
                try{
                        var text = doc.foo();
                        alert("4 " + text);

                }catch(e){
                        alert("5 " + e.description);
                        // IE : this message is displayed
                }
        }catch(e){
                alert("6 " + e.description);
        }
}
try{
        obj  = new Object();

        Object.extend(obj, newDef);
        alert("7 extended string");
        // IE & FF : this message is displayed.
}catch(e){
        alert("8 " + e.description);
}
try{
        alert("9 " + obj.foo());
        // IE & FF: this message is displayed.
}catch(e){
        alert("10 " + e.description);

}
try{
        string = "hey";
        Object.extend(String.prototype, newDef);
        alert("11 " + string.foo());
        // IE & FF : this message is displayed.
}catch(e){
        alert("12 " + e.description);
}

the problem areas for me are messages 2 and 5. Is there a reason I
can't extend the ActiveXObject instance, or if, when I extend the
prototype, I can't actually use the methods defined?

I'm able to extend the document instance firefox creates, and I was
really hoping to use the same approach in IE. Is there a workaround?

Sorry if maybe I've posted this twice...


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Ruby 
on Rails: Spinoffs" group.
To post to this group, send email to rubyonrails-spinoffs@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-spinoffs?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to