Exponiendo variables de la llamada PhantomJS a injectJS

He seguido ejemplos para inyectar jQuery desde la página de inicio y eso funciona bien. Tengo una copia local de jQuery en el mismo directorio, y hago algo como ...

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

Cuando intento inyectar mi (s) script (s), ninguna de las funciones está disponible para mí. Digamos que tengo un script llamado myScript.js que solo tiene

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

Entonces no puedo usar algo 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>

He intentado

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

y

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

sin tener suerte, así como intentar llamarlos con window.doSomething () o document.doSomething () en la página siguiente .evaluate ().

Respuestas a la pregunta(1)

Su respuesta a la pregunta