2014-02-11 4 views
0

Мне нужно xpaths, сгенерированное Firepath (расширение Firebug), которое должно быть передано моему родному объекту класса JavaScript, присутствующему в DOM. Итак, я модифицирую Firepath само расширение, теперь, чтобы передать сгенерированный xpath в мою функцию класса JavaScript, присутствующую в DOM, я не могу понять способ. Я пробовал много решений, как внутри функции расширения, следующий пример работы:Вызывать функцию класса javascript в firefox addon

window.alert("hello"); 

Но следующий не будет:

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

Любая помощь будет высоко оценен.

ответ

1

После выполнения тяжелой работы я, наконец, получил ее работу, объекты документа и окна в расширении Firefox ссылаются на разные объекты документа и окна, а не на DOM (должно быть очевидно), поэтому нам нужно найти текущее окно для выполнения функция или функция класса, что угодно. Итак, вот фрагмент кода, который вы можете использовать в своем расширении для вызова 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); 
Смежные вопросы