Sto aprendo qualsiasi pagina nel dominio Amazon.com (ad esempio "http://www.amazon.com") e poi sto tentando di iniettare JQuery come questo:Iniettare JQuery nelle pagine di Amazon.com utilizzando PhantomJS causa problemi con JQuery
var injected = page.injectJs('jquery-1.7.1.js');
console.log("jquery was injected successfully: " + injected);
questo codice stamperà true
alla console. Tuttavia, il tentativo di accedere $(document)
dall'interno page.evaluate()
come questo:
page.onLoadFinished = function (status) {
var results = page.evaluate(function() {
$(document);
});
phantom.exit();
};
stamperà TypeError: 'undefined' is not a function
alla console.
Questo codice funziona con la maggior parte degli altri domini con cui ho provato. Ho notato che Amazon sembra avere la sua versione di JQuery che carica e mi chiedo se potrebbe essere in conflitto con la versione di JQuery che sto caricando in qualche modo. Qualche idea?
Si prega di taggare domande come questo come javascript pure (la prossima volta). –
Cosa succede quando si utilizza il non alias? 'jQuery (document)' per esempio. – Tejs
Funziona (grazie!). Ma non capisco perché. Qualcuno sa? – grumblebeans