Как я могу создать объект класса, который определен на удаленной странице? - PullRequest
3 голосов
/ 11 февраля 2009

Например, на удаленной веб-странице есть фрагмент кода, подобный следующему:

<script>
function foo(){
this.bar = 0;
}

В моем скрипте greasemonkey я хочу создать объект этого класса:

var _foo= unsafeWindow['foo'];
new _foo();

Тогда я получил ошибку недопустимого значения.

1 Ответ

1 голос
/ 04 марта 2009

Вот как это сделать:

var _foo = eval('(' + unsafeWindow.foo.toSource() + ')');
var x = new _foo();

Этот обходной путь может потребоваться из-за различных зон безопасности или песочницы, что делает Greasemonkey, хотя я не совсем уверен.

...