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