Expondo variáveis ​​da chamada do PhantomJS para injectJS

Eu segui exemplos para injetar jQuery a partir da página de introdução e isso funciona muito bem. Eu tenho uma cópia local do jQuery no mesmo diretório e faço algo como ...

<code>if(page.injectJs('jquery.min.js')) {
  page.evaluate(function(){
    //Use jQuery or $ 
  }
}
</code>

Quando tento injetar meu (s) script (s), nenhuma das funções está disponível para mim. Digamos que eu tenha um script chamado myScript.js que apenas tenha

<code>function doSomething() {
  // doing something...
}
</code>

Eu não posso usar o doSomething como ...

<code>if(page.injectJs('myScript.js')) {
  console.log('myScript injected... I think');
  page.evaluate(function() {
    doSomething();
  });
} else { 
  console.log('Failed to inject myScript'); 
}
</code>

eu tentei

<code>window.doSomething = function() {};
</code>

e

<code>document.doSomething = function() {};
</code>

bem como sem sorte, bem como tentando chamá-los com window.doSomething () ou document.doSomething () na página subseqüente.evaluate ().

questionAnswers(1)

yourAnswerToTheQuestion