Phantom Js, CasperJs Внешние скрипты не оцениваются должным образом

Интересная проблема: я использую injectJs для загрузки внешнего файла (site.js) в мой скрипт phantomJs/CasperJs. Он загружается нормально, но функции не оцениваются и возвращаются в виде строк.

Вот сайт.js:

var site = function(){
     this.getName = function(){
         return 'this is a name';
     }
}

Вот мой скрипт phantom.js:

casper.start();

casper.then(function(){
    phantom.injectJs('/path/to/site.js');
    mysite = new site(casper);
    name = mysite.getName;
    this.echo(name);

});

Я бы ожидал, что консоль выведет: «это имя», но вместо этого выведет: «function () { this.getName = function () { return «это имя»; }}'

Я также пытался eval() безрезультатно (eval?).

Спасибо за вашу помощь.


person Jeff Ryan    schedule 12.01.2013    source источник


Ответы (1)


Вы забыли ():

name = mysite.getName();
person asgoth    schedule 12.01.2013
comment
Боже, я чувствую себя глупо... Спасибо. - person Jeff Ryan; 13.01.2013
comment
Нп, со всеми иногда бывает ;) - person asgoth; 13.01.2013