Пытаться:
ица, на которой будет выполняться мой пользовательский скрипт, имеет пространство имен, пространство имен определяет функцию конструктора. Я хотел бы создать объект, используя тот же конструктор и использовать методы объекта в моем скрипте пользователя. До сих пор я был неудачным. Вот что я пытаюсь сделать.
Страница имеет следующий собственный блок JavaScript:
var namespace={ constructor : function(){
this.sum = function(value1,value2){
alert(value1+value2);
}
}
}
используется как:
var pageObject=new namespace.constructor();
pageObject.sum(1,2);
В My Userscript мое намерение создать объект, подобный pageObject, и вызвать сумму из этого с моими собственными параметрами.
Я попытался сделать следующее:
var greaseNameSpace = unsafeWindow.namespace;
var greaseObject = new greaseNameSpace.constructor();
greaseObject.sum(1,2);
Не повезло, появляется, хотя greaseNameSpace существует, и даже greaseNameSpace.constructor является допустимой функцией, с использованием нового greaseNameSpace.constructor () дает неопределенное значение.
также попробовал следующее:
var greaseObject =new unsafeWindow.namespace.constructor();
снова greaseObject остается неопределенным.
Я нашел одну нить здесьКак я могу создать объект класса, который определен на удаленной странице?
Но он использует eval, и мне интересно, правильно ли это?
Любая помощь будет высоко ценится :) спасибо!