• Portada
    • Recientes
    • Usuarios
    • Registrarse
    • Conectarse

    Forzar la descarga de una imagen

    Programado Fijo Cerrado Movido
    Software
    3
    14
    3.8k
    Cargando más mensajes
    • Más antiguo a más nuevo
    • Más nuevo a más antiguo
    • Mayor número de Votos
    Responder
    • Responder como tema
    Accede para responder
    Este tema ha sido borrado. Solo los usuarios que tengan privilegios de administración de temas pueden verlo.
    • vallekanoV
      vallekano
      Última edición por

      Bueno, pues lo que pregunto no se si se puede hacer pero no he encontrado nada asique a ver si alguien lo sabe.

      La historia es que tengo un página html en la que tengo por ejemplo una imagen que con el evento "OnMouseOver" hago que cambie a otra.

      Bien, pues lo que pasa es que carga toda la página pero al situarme encima de la imagen pues tarda un poco en cambiar la primera vez, ya que al situarme encima pide al servidor la nueva imagen y por eso tarda, luego ya va bien ya que está en cache.

      Y pregunto: No hay alguna manera de hacer que el explorador pida al servidor esa segunda imagen al principio para que cuando yo me situe encima ya la tenga en la cache????

      No se si me explico…...........

      1 Respuesta Última respuesta Responder Citar 0
      • BleomB
        Bleom
        Última edición por

        Claro, hay una manera que es archi-conocida. Es un comportamiento muy usado.

        Si no te quieres comer la cabeza programándolo, usa el Dreamweaver (cualquier version) y verás la opción "carga previa de imágenes" en el menú de comportamiento de objetos. De esa manera, te carga ese rollover (ambas imágenes) al inicio y no cuando pasas el ratón por encima 😉

        Si quieres hacerlo a pelo, tú mismo, pero para qué reinventar la rueda!? 😛

        Un saludo
        Blëøm

        1 Respuesta Última respuesta Responder Citar 0
        • vallekanoV
          vallekano
          Última edición por

          Joer, pero esque no lo tengo ni instalado el dreamweaver…...............

          Es mu chungo de hacer a pelo????
          Se puede hacer con el frontpage???

          1 Respuesta Última respuesta Responder Citar 0
          • BleomB
            Bleom
            Última edición por

            No, difícil no es, si sabes javascript. Yo si se, y aun así, prefiero hacerlo automáticamente.

            Si quieres, pasame por mail el código de la page, y trato de incrustártelo 😉

            Un saludo
            Blëøm

            1 Respuesta Última respuesta Responder Citar 0
            • vallekanoV
              vallekano
              Última edición por

              Bueno, ahora estoy en el curro. Esta tarde te mando un email.

              Javascript si se asique me imagino que lo entenderé.

              Se me ha ocurrido que una opción puede ser cargar inicialmente la "segunda" imagen y en cuanto esté cargada la página y gracias a un evento cambiar esa imagen por la "primera". De esa manera estarán las dos en cache.

              Sino, me puedes contar así a groso modo como va el rollo.

              1 Respuesta Última respuesta Responder Citar 0
              • vallekanoV
                vallekano
                Última edición por

                Bueno, mejor que un mail te cuelgo aquí un ZIP con un archivito to chorra con lo típico de un icono de mail para ver si me puedes incrustar el código y luego yo veo como lo has echo.

                1 Respuesta Última respuesta Responder Citar 0
                • vallekanoV
                  vallekano
                  Última edición por

                  Upsssss
                  attachment_p_230227_0_prueba.zip

                  1 Respuesta Última respuesta Responder Citar 0
                  • BleomB
                    Bleom
                    Última edición por

                    Aquí lo tienes, fiera 😉

                    <title>prueba</title>

                    onbeforeunload="MM_preloadImages('mnu_contacte_off_modificado.gif','mnu_contacte_on_modificado.gif')">

                    Te he puesto en negrita las líneas que debes añadir. Lo primero, es la función javascript y lo segundo, es la llamada a la función y los parámetros, que son la ruta de las imágenes a precargar.Puedes poner tantas imágenes en precarga como quieras, pues tan sólo tienes que añadirlas tal y como te las he puesto. Con esta línea de código, podrás "pre-cargar" todas las imágenes que quieras.

                    Te habría contestado al mail, pero me parece más constructivo hacerlo en la misma rama 😉

                    Espero que te sirva, porque funcionar, funciona de maravilla (yo siempre lo uso!!!)

                    Un saludo
                    Blëøm

                    1 Respuesta Última respuesta Responder Citar 0
                    • vallekanoV
                      vallekano
                      Última edición por

                      Muchisimas gracias. Eres un fenómeno. :risitas: :risitas:

                      1 Respuesta Última respuesta Responder Citar 0
                      • vallekanoV
                        vallekano
                        Última edición por

                        Bueno, acabo de mirarlo y creo que tienes una cosa mal y es la llamada a la función, que no es dentro de la imagen sino dentro de la etiqueta BODY.

                        <title>prueba</title>

                        onbeforeunload="MM_preloadImages('mnu_contacte_off_modificado.gif','mnu_contacte_on_modificado.gif')">

                        1 Respuesta Última respuesta Responder Citar 0
                        • BleomB
                          Bleom
                          Última edición por

                          No está mal. Ahora te explico por qué 😉

                          Estaría mal si la función estuviese declarada allí, en el body. Sin embargo, lo que está en el body, es la llamada a la función, que es exactamente donde se ubica la imagen a precargar. Primero, declaras una función en la cabecera, y luego la llamas en el momento y el lugar exacto donde la necesites. Lo que no va a estar nunca, es la llamada en la cabecera pues allí no tendrás ninguna imagen y porque allí no se ponen rutas de imágenes. Todas las llamadas se hacen en el cuerpo del programam haciendo alusión a la función previamente declarada. Funciona así para todos los lenguajes de programación (al menos, sí para los 14 que sé usar…).

                          Creeme, está bien y funciona (al menos con 3 navegadores distintos) porque lo he comprobado. La función la he generado con el dreamweaver y te he quitado la paja que mete, dejándola lo suficientemente clara como para que no tengas que saber de javascript xD

                          La has probado ya, o sólo te ha "parecido" que estaba mal?

                          Un saludo
                          Blëøm

                          1 Respuesta Última respuesta Responder Citar 0
                          • vallekanoV
                            vallekano
                            Última edición por

                            No lo he probado aún pero he estado mirando el evento "onbeforeunload" y según he leido es un evento propio del BODY y he leido que lo suyo es que valla como un atributo de la etiqueta BOSY. Por eso lo he dicho. De todas formas puede que funcione de las dos maneras.

                            Según lo has puesto tu es que en cuanto teermine de cargar la imagen primera se llama a la función que carga la/s otra/s.

                            Y según lo he puesto yo, la función es llamada cuando se termina de cargar la página entera.

                            Creo que da igual, el resultado va a ser practicamente el mismo.

                            1 Respuesta Última respuesta Responder Citar 0
                            • vallekanoV
                              vallekano
                              Última edición por

                              Bueno, pues siento decirte que no funciona.

                              Lo puedes comprobar AQUI

                              Es pequeña la imagen y la carga rápido pero si te fijas tarda un pelin.

                              Para refrescar sin que use la cache Control+F5, por si no lo sabias.

                              1 Respuesta Última respuesta Responder Citar 0
                              • NachoN
                                Nacho
                                Última edición por

                                Idea tonta:
                                Inserta la imagen al principio de la pagina, pero de tamano 1 pixel x 1 pixel, para que no se vea. Asi el navegador la guarda en la cache y el evento onmouseover la leera de ahi. Tambien puedes cargarla en un layer invisible que esté fuera de la pantalla, y el efecto es el mismo.

                                Un saludo.

                                1 Respuesta Última respuesta Responder Citar 0
                                • 1 / 1
                                • First post
                                  Last post

                                Foreros conectados [Conectados hoy]

                                2 usuarios activos (0 miembros e 2 invitados).
                                febesin, pAtO,

                                Estadísticas de Hardlimit

                                Los hardlimitianos han creado un total de 543.3k posts en 62.8k hilos.
                                Somos un total de 34.8k miembros registrados.
                                seaofink ha sido nuestro último fichaje.