Sto usando PhantomJS per schermare una pagina web. Tuttavia la libreria chiama un file jQuery ospitato per iniettare funzionalità jQuery nel DOM della pagina per consentire alcune manipolazioni. Visto qui: http://phantomjs.org/api/webpage/method/include-js.htmlPhantomjs utilizza un file locale con page.includeJs?
Il codice è simile al seguente:
if (loaded) {
page.includeJs("http://code.jquery.com/jquery-1.8.3.min.js",
function() { . . .
non voglio fare una chiamata esterna per JS perché (a) è più lento e (b) non la sua affidabilità. Vorrei utilizzare una copia locale e ho impostato questa strada in quanto tale, ma non viene caricato in.
page.includeJs("assets/javascript/jquery.min.js",
function() { . . .
Qual è il problema? Perché il mio percorso non funziona come mi aspetto? Questa funzione page.includeJs
non consente percorsi relativi?
Anche iniettato. Il percorso non si risolve neanche. Dalla lettura dei documenti penso che abbiano anche sottili differenze. – fyz
@fab Sì, ci sono alcune differenze ma è l'unico modo per eseguire uno script locale. Probabilmente stai fornendo un percorso file errato. Prova ad usare quello assoluto e controlla se funziona. – ghost
Btw 'injectJs' non è corretto DOCS:" Nota: gli argomenti e il valore restituito per la funzione di valutazione devono essere un semplice oggetto primitivo La regola pratica: se può essere serializzato tramite JSON, va bene Chiusure, funzioni, nodi DOM, ecc. Non funzioneranno! " Vedi link: http://phantomjs.org/api/webpage/method/inject-js.html – fyz