Пытаться:

ица, на которой будет выполняться мой пользовательский скрипт, имеет пространство имен, пространство имен определяет функцию конструктора. Я хотел бы создать объект, используя тот же конструктор и использовать методы объекта в моем скрипте пользователя. До сих пор я был неудачным. Вот что я пытаюсь сделать.

Страница имеет следующий собственный блок 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, и мне интересно, правильно ли это?

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

Ответы на вопрос(2)

Ваш ответ на вопрос