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 ().