Offenlegen von Variablen aus dem PhantomJS-Aufruf für injectJS

Ich habe Beispiele für das Injizieren von jQuery von der Einstiegsseite aus verfolgt und das funktioniert einwandfrei. Ich habe eine lokale Kopie von jQuery im selben Verzeichnis und mache so etwas wie ...

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

Wenn ich versuche, meine eigenen Skripte einzufügen, steht mir keine der Funktionen zur Verfügung. Angenommen, ich habe ein Skript namens myScript.js, das nur hat

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

Ich kann dann nicht doSomething verwenden wie ...

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

ich habe es versucht

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

und

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

Ebenso wenig wie der Versuch, sie mit window.doSomething () oder document.doSomething () auf der folgenden Seite aufzurufen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage