Estoy abriendo cualquier página en el dominio de Amazon.com (por ejemplo, "http://www.amazon.com") y luego intento inyectar JQuery como esto:Inyectar JQuery en páginas de Amazon.com utilizando PhantomJS causa problemas con JQuery
var injected = page.injectJs('jquery-1.7.1.js');
console.log("jquery was injected successfully: " + injected);
este código imprimirá true
a la consola. Sin embargo, tratar de acceder a $(document)
desde dentro page.evaluate()
así:
page.onLoadFinished = function (status) {
var results = page.evaluate(function() {
$(document);
});
phantom.exit();
};
imprimirá TypeError: 'undefined' is not a function
a la consola.
Este código funciona con la mayoría de los otros dominios que he probado. Noté que Amazon parece tener su propia versión de JQuery que carga y me pregunto si podría estar en conflicto con la versión de JQuery que estoy cargando de alguna manera. ¿Algunas ideas?
Por favor, marque preguntas como esta como javascript también (la próxima vez). –
¿Qué sucede cuando usa el alias no? 'jQuery (documento)' por ejemplo. – Tejs
Funciona (¡gracias!). Pero no entiendo por qué. ¿Alguien sabe? – grumblebeans