Mostrando entradas con la etiqueta aborted. Mostrar todas las entradas
Mostrando entradas con la etiqueta aborted. Mostrar todas las entradas

martes, 22 de septiembre de 2009

Javascript aborted (otro caso)

En otras ocasiones me ha ocurrido que al insertar una imagen creada o alterada dinámicamente, se produce una carga abortada seguida de una petición correcta. Esto se debe a que al crear un elemento imagen y asignarle una src (o, simplemente, al reasignar la src), el navegador comprueba que la imagen es la más reciente. Asímismo, al incluirla en el DOM (vía appendChild o insertBefore), se repite la petición de nuevo.

Para evitar estos inconvenientes, siempre que sea posible es aconsejable seguir una lógica similar a la siguiente:

var imgCuerpo = document.createElement('img');
imgCuerpo.style.width = '739px';
imgCuerpo.style.height = '375px';
cuerpo.insertBefore(imgCuerpo,cuerpo.childNodes[0]);
imgCuerpo.src = '/path/to/img.png';


Este problema, aparece principalmente en versiones antiguas de IExplorer (versión 6 y anteriores).

martes, 15 de septiembre de 2009

Carga de scripts dinamica

Para cargar un script de modo dinámico, basta hacer lo siguiente:
var s = document.createElement("script");
s.src = 'script-location/script-name.js';
s.type="text/javascript";
document.getElementsByTagName("head")[0].appendChild(s); 
Este código lo carga al final del head.

Si el script no carga (o si aparece la petición como abortada), puede deberse al modo en que se ha invocado. Si, por ejemplo, se hace la petición en un anchor:
<a href='location' onclick='cargaScript()'>cargar</a>
al iniciar la carga del script, se ejecuta inmediatamente el href. Si el href no hace referencia al propio documento (es decir, es una url, un javascript inline o algo que no sea '#' o similar), se aborta la operación y el script no carga.