el problema:síncrono carga JS externo con zombie.js
estoy usando zombie.js poner a prueba mi JavaScript del lado del cliente, pero estoy corriendo en un problema. Zombie.js no proporciona la ejecución de etiquetas sincrónicas <script>
y, de hecho, parece que no ejecuta archivos JS externos. Una prueba básica confirma:
<script type="text/javascript" src="test1.js"></script>
<script type="text/javascript" src="test2.js"></script>
<script type="text/javascript" src="test3.js"></script>
<script type="text/javascript">
console.log("Inline javascript.");
</script>
cada prueba # Js contiene una sola línea: console.log("TEST#.JS");
cuando me hacen esto en un navegador normal, la consola muestra la esperada:
TEST1.JS
TEST2.JS
TEST3.JS
Inline javascript.
Pero cuando lo ejecuto con zombie.js, solo veo una sola línea Inline javascript.
Esto es lo que he intentado evitar con el problema:
- usando
document.createElement
para añadir dinámicamente una etiqueta de secuencia de comandos para el documento - usando
document.write
para añadir el bloque de script en el HTML - usando un
setTimeout
enconsole.log("Inline javascript")
en combinación con 1 y 2 para dar los scripts de prueba algunos hora de cargar
¿Hay alguna manera de resolver este problema, además de colocar el código JS de todos mis archivos JS externos en un enorme bloque <script>
?
¿Ha considerado a PhantomJS como una alternativa al Zombie? – Spudley
Sí, comencé con PhantomJS, pero hay varios errores que (es decir, navigator.onLine siempre es falso, etc.) que me hicieron alejarme de él. – laker