¿Alguien conoce una solución para hacer que los GIF animados sigan siendo animados después de hacer clic en un enlace o enviar un formulario en la página en la que se encuentra en IE? Esto funciona bien en otros navegadores.
Gracias.
¿Alguien conoce una solución para hacer que los GIF animados sigan siendo animados después de hacer clic en un enlace o enviar un formulario en la página en la que se encuentra en IE? Esto funciona bien en otros navegadores.
Gracias.
Respuestas:
La solución aceptada no funcionó para mí.
Después de investigar un poco más, encontré esta solución , y realmente funciona.
Aquí está la esencia:
y en tu html:
Entonces, cuando se envía el formulario,
<img/>
se inserta la etiqueta y, por alguna razón, no se ve afectada por los problemas de animación de ie.Probado en Firefox, ie6, ie7 y ie8.
fuente
code
<div id = "img_content"> <img id = 'aj_loader' src = 'assets / 2631.gif' style = "display: none;" /> </div> Y luego:code
$ ("# img_content"). html ($ ("# img_content"). html ());pregunta anterior, pero publicando esto para otros googlers:
Spin.js FUNCIONA para este caso de uso: http://fgnass.github.com/spin.js/
fuente
IE asume que hacer clic en un enlace anuncia una nueva navegación donde se reemplazará el contenido de la página actual. Como parte del proceso de preparación, detiene el código que anima los GIF. Dudo que haya algo que pueda hacer al respecto (a menos que no esté navegando, en cuyo caso use return false en el evento onclick).
fuente
Aquí hay un jsFiddle que funciona bien en el envío de formularios con method = "post". La ruleta se agrega en el evento de envío de formulario.
Vea el código jsFiddle aquí
Pruébelo en su navegador IE aquí
fuente
Encontré esta publicación y, aunque ya ha sido respondida, sentí que debería publicar información que me ayudó con este problema específico de IE 10 y que podría ayudar a otros que lleguen a esta publicación con un problema similar.
Me desconcertó cómo los gifs animados simplemente no se mostraban en IE 10 y luego encontré esta joya.
Tools→ Internet Options→ Advanced→ MultiMedia→Play animations in webpages
espero que esto ayude.
fuente
beforeunload
ounload
evento.Encontré este problema al intentar mostrar un gif de carga mientras se procesaba el envío de un formulario. Tenía una capa adicional de diversión en el sentido de que el mismo onsubmit tenía que ejecutar un validador para asegurarse de que el formulario fuera correcto. Como todos los demás (en cada publicación de formulario IE / gif en Internet) no pude hacer que la ruleta de carga "girara" en IE (y, en mi caso, validar / enviar el formulario). Mientras busca los consejos en http://www.west-wind.com , encontré una publicación de ev13wt que sugería que el problema era "... que IE no representa la imagen como animada porque era invisible cuando se representaba. " Eso tiene sentido. Su solución:
Deje en blanco donde iría el gif y use JavaScript para establecer la fuente en la función onsubmit - document.getElementById ('loadingGif'). Src = "ruta al archivo gif".
Así es como lo implementé:
¡Esto funcionó bien para mí en todos los navegadores!
fuente
Esto es lo que hice. Todo lo que tienes que hacer es dividir tu GIF para decir 10 imágenes (en este caso comencé con
01.gif
y terminé con10.gif
) y especificar el directorio donde las guardas.HTML:
JavaScript:
Este método funciona con IE7, IE8 e IE9 (aunque para IE9 puedes usarlo
spin.js
). NOTA: No he probado esto en IE6 ya que no tengo una máquina que ejecute un navegador de los años 60, aunque el método es tan simple que probablemente funcione incluso en IE6 y versiones anteriores.fuente
En relación con esto, tuve que encontrar una solución en la que los gifs animados se usaran como imagen de fondo para garantizar que el estilo se mantuviera en la hoja de estilo. Una solución similar funcionó para mí allí también ... mi script fue algo como esto (estoy usando jQuery para facilitar la obtención del estilo de fondo calculado; cómo hacerlo sin jQuery es un tema para otra publicación):
[EDITAR] Con un poco más de pruebas, me acabo de dar cuenta de que esto no funciona con imágenes de fondo en IE8. He estado intentando todo lo que se me ocurre para que IE8 renderice una animación gif mientras cargaba una página, pero no parece posible en este momento.
fuente
$(spinner).css('background-image')
), pero en lugar de configurarlo de la misma manera, está usando la forma pura de Javascript (spinner.style.backgroundImage
). Tu código no me funciona en ningún navegador. Si utilizo directamente su código, entonces recibo uncannot set backgroundImage property of undefined
error. Si cambio su código para configurar CSS usando jQuery, el código se ejecuta sin errores, pero la imagen no se restablece y el elemento div / spinner permanece vacío. No lo se porquebackground-image
propiedades enunload
obeforeunload
eventos. Ver esta pregunta o este jsFiddle para obtener más detalles.Sobre la base de la respuesta de @danfolkes, esto funcionó para mí en IE 8 y ASP.NET MVC3.
En nuestro _Layout.cshtml
<<< contenido aquí >>> ...
Y en nuestros enlaces de navegación:
o
fuente
Encontré esta solución en http://timexwebdev.blogspot.com/2009/11/html-postback-freezes-animated-gifs.html y ¡FUNCIONA! Simplemente vuelva a cargar la imagen antes de configurarla como visible. Llame a la siguiente función de Javascript desde el clic de su botón:
fuente
Me doy cuenta de que esta es una pregunta antigua y que a estas alturas los carteles originales han encontrado una solución que funciona para ellos, pero encontré este problema y descubrí que las etiquetas VML no son víctimas de este error de IE. Los GIF animados aún se mueven durante la descarga de la página cuando se colocan en el navegador IE mediante etiquetas VML.
Observe que detecté VML primero antes de tomar la decisión de usar etiquetas VML, por lo que esto funciona en FireFox y otros navegadores que usan el comportamiento GIF animado normal.
Así es como resolví esto.
Naturalmente, esto se basa en jQuery, jQueryUI y requiere un GIF animado de algún tipo ("/images/loading_gray.gif").
fuente
Jquery:
fuente
Acabo de tener un problema similar. Estos funcionaron perfectamente para mí.
Otra idea fue usar .load () de jQuery; para cargar y luego anteponer la imagen.
Funciona en IE 7+
fuente
Muy, muy tarde para responder a esta, pero acabo de descubrir que el uso de una imagen de fondo codificada como un URI base64 en CSS, en lugar de mantenerse como una imagen separada, continúa animando en IE8.
fuente
Una forma muy sencilla es utilizar jQuery y el complemento SimpleModal . Luego, cuando necesito mostrar mi gif de "carga" al enviarlo, lo hago:
fuente
Tuve este mismo problema, común también a otros prestatarios como Firefox. Finalmente descubrí que la creación dinámica de un elemento con un gif animado en el interior en el envío del formulario no se animaba, por lo que desarrollé la siguiente solución.
1) En
document.ready()
, cada FORMULARIO que se encuentra en la página, recibe laposition:relative
propiedad y luego a cada uno se le adjunta unDIV.bg-overlay
.2) Después de esto, asumiendo que cada valor de envío de mi sitio web está identificado por la
btn-primary
clase css, nuevamente endocument.ready()
, busco estos botones, recorro el formulario principal de cada uno, y en el formulario de envío, disparo lashowOverlayOnFormExecution(this,true);
función, paso el botón pulsado y un booleano que alterna la visibilidad deDIV.bg-overlay
.CSS para
DIV.bg-overlay
es el siguiente:3) En cualquier envío de formulario, la siguiente función se activa para mostrar una superposición de fondo semiblanco por todas partes (que niega la capacidad de interactuar nuevamente con el formulario) y un gif animado en su interior (que muestra visualmente una acción de carga).
Mostrar un gif animado al enviar el formulario, en lugar de agregarlo en este evento, resuelve el problema de "congelación de animación gif" de varios navegadores (como dije, encontré este problema en IE y Firefox, no en Chrome)
fuente