adnan kamili
adnan kamili

Reputation: 9465

Invoke javascript class function in firefox addon

I needed xpaths generated by Firepath (Firebug extension), to be passed to my native JavaScript class object present in DOM. So, I am modifying Firepath extension itself, now to pass the generated xpath to my JavaScript class function present in DOM, I can't figure out a way. I tried many solutions like inside the extension function, the following example works:

window.alert("hello");

But the following doesn't:

    var pObj =  new window.wrappedJSObject.PClass();
    alert(pObj);
    pObj.CalledFromAddOn();

Any help will be highly appreciated.

Upvotes: 0

Views: 137

Answers (1)

adnan kamili
adnan kamili

Reputation: 9465

After doing some hard work I finally got it working, the document and window objects in Firefox extension refer to different document and window objects and not the DOM (should be obvious), so we need to find the current window to execute the function or class function, whatever. So, here is the code snippet, which you can use in your extension to invoke DOM javascript:

var doc = Application.activeWindow.activeTab.document;   
var win = doc.defaultView;  // will give you the DOM window object atleast on firefox and chrome

// Now call your functions or create objects

win.wrappedJSObject.hello();
var pToolObj =  new win.wrappedJSObject.PTool();
alert(pToolObj.currTaskNo);

Upvotes: 1

Related Questions