Ir al contenido principal

Código de JavaScript - Cargar un archivo JS o CSS en segundo plano, y controlar cuando ha terminado de cargarse en la pagina

Posted by lawebdelprogramador.com

Este código muestra como cargar un archivo JS o CSS en nuestra página de manera asyncrona, pudiendo controlar cuando termina de cargarse en la página.


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
<!DOCTYPE html>
<html>
<head>
 
 
</head>
<body>
 
Contenido de la pagina
 
</body>
 
<script>
/**
 * Funcion que carga el archivo JS o CSS utilizando XMLHttpRequest
 * Tiene que recibir:
 *    la url del archivo js o css
 *    la funcion a llamar cuando se haya cargado el contenido
 */
function getContent(url, callBackFunction)
{
    try
    {
        // creamos el objeto XMLHttpRequest
        var asyncRequest = new XMLHttpRequest();
 
        // registramos cualquier evento
        asyncRequest.onreadystatechange = function()
        {
            // Si develve "Done" (4) o ok (200)
            if (asyncRequest.readyState==4 && asyncRequest.status==200)
            {
                // mamamos a la funcion pasada por parametro enviando el contenido
                // del archivo descargado
                callBackFunction(asyncRequest.responseText);
            }
        }
 
        // Preparamos la peticion
        asyncRequest.open('GET', url, true);
 
        // enviamos la petición
        asyncRequest.send(null);
    }
    catch(exception)
    {
        alert('Fallo en la peticion');
    }
}
 
// Llamamos a la funcion getContent pasando como parametro el archivo JS a
// abrir y la funcion que tiene que ejecutar una vez se haya cargado el archivo
getContent("/js/miArchivo.js",function (code) {
 
    // Creamos un nuevo elemento <script>
    var s = document.createElement('script');
 
    // añadimos dentro del <script> el contenido descargado
    s.innerHTML=code;
 
    // Lo añadimos encima del primer <script> de la pagina
    var x = document.getElementsByTagName('script')[0];
    x.parentNode.insertBefore(s, x);
 
    /** EN ESTE PUNTO EL ARCHIVO YA SE HA CARGADO, Y PODEMOS GESTIONAR CUALQUIER
        EVENTO O FUNCION **/
});
 
 
// Llamamos a la funcion getContent pasando como parametro el archivo CSS a
// abrir y la funcion que tiene que ejecutar una vez se haya cargado el archivo
getContent("/css/miArchivo.css",function (code) {
 
    // Creamos un nuevo elemento <style>
    var s = document.createElement('style');
 
    // añadimos dentro del <style> el contenido descargado
    s.innerHTML=code;
 
    // Lo añadimos encima del primer <script> de la pagina
    var x = document.getElementsByTagName('script')[0];
    x.parentNode.insertBefore(s, x);
 
    /** EN ESTE PUNTO EL ARCHIVO YA SE HA CARGADO, Y PODEMOS GESTIONAR CUALQUIER
        EVENTO O FUNCION **/
});
</script>
 
</html>


http://www.lawebdelprogramador.com/codigo/JavaScript/3883-Cargar-un-archivo-JS-o-CSS-en-segundo-plano-y-controlar-cuando-ha-terminado-de-cargarse-en-la-pagina.html

Comentarios

Entradas más populares de este blog

CÓMO INSTALAR NET FRAMEWORK 3.5 EN WINDOWS 10

PUBLICADO EL 23 de noviembre de 2016 POR VicHaunter Con Windows 10 nos encontramos una serie de paquetes y librerías nuevas que ya vienen preinstaladas en el sistema. El problema es ver cómo solucionar el error al instalar Net Framework 3.5 . Si bien vienen ya algunos paquetes más nuevos instalados de serie, los anteriores hay que instalarlos de forma manual. La verdad es que no tiene mucho sentido, puesto que hay una gran cantidad de programas y juegos que los requieren.  Si estás aquí seguramente te has encontrado con que al ejecutar algún juego o programa se abre una ventana de Net Framework 3.5 requerido. Errores al instalar Net Framework 3.5 en Windows 10 En esta misma ventana que te aparece le puedes dar directamente a instalar el paquete de forma automática. Pero ahora viene lo malo, y es que después de un rato de buscar, descargar y preparar la instalación, da errores varios.  NOTA: Si estás intentando solucionar el error 0X80071A90 de Net Framewor...

Canva – El software de diseño increíblemente simple (canva.com)

Con Canva el diseño es fácil para todos. Crea diseños para la web. Infografías Diseña infografías virales con Canva, el mejor programa de ... Presentaciones ¿Necesitas crear presentaciones en el trabajo o el colegio? Un ... Pósters Diseña tus pósters personalizados gratis con Canva. Con cientos ... Tipos de documentos Tarjetas Tarjetas virtuales Logotipos Flyers Pósteres Banners Hoja de vida Brochures Postales Infografías Membretes Portadas de libros Portadas de discos Collages de fotos Presentaciones Tarjetas de presentación Invitaciones digitales Tarjetas de regalo Portadas de revistas Encabezados de Twitter Portadas para Facebook Edición de fotos Desenfoque de foto Iconos gratuitos Insignias gratuitas Cuadrículas de diseño Efecto de viñeta Etiquetas Globos de texto Añade texturas Recorta tus imágenes Efectos fotográficos Marco de foto Enderezador de foto Imágenes transparentes Añadir texto a foto...

25 herramientas gratuitas para mejorar tus resultados en redes sociales

  Post autor invitado  Chema Espejo  (vilmanunez.com) Tener la herramienta justa que te eche una mano en tu trabajo en redes sociales no es fácil. Necesitas probar muchas hasta encontrar la que realmente te sirve. El problema aumenta aún más si tienes un presupuesto limitado. Entonces la búsqueda se hace más complicada. Por eso mismo me he propuesto seleccionarte las herramientas gratuitas que te van a echar una mano con la  gestión de tus perfiles de redes sociales . Cómo entenderás no he metido la primera que he visto. Más bien al contrario he seguido una serie de razones para seleccionar estas 25. Y para explicártelo mejor te he hecho este vídeo donde te explico porqué he cogido las que ves y no otras: porqué herramientas post vilma from  Vilma Núñez  on  Vimeo . Bueno creo que llega el momento de ponernos manos a la obra, aquí tienes todas las aplicaciones que las he dividido en 5 categorías según el tipo de uso para la ...