Кто-нибудь знает, как заставить анимированные GIF-файлы продолжать анимироваться после того, как вы нажмете ссылку или отправите форму на странице, на которой вы находитесь в IE? Это отлично работает в других браузерах.
Спасибо.
Кто-нибудь знает, как заставить анимированные GIF-файлы продолжать анимироваться после того, как вы нажмете ссылку или отправите форму на странице, на которой вы находитесь в IE? Это отлично работает в других браузерах.
Спасибо.
Ответы:
Принятое решение у меня не сработало.
После дополнительных исследований я наткнулся на этот обходной путь , и он действительно работает.
Вот его суть:
и в вашем html:
Таким образом, когда форма отправляется,
<img/>
тег вставляется, и по какой-то причине на него не влияют проблемы с анимацией.Проверено в Firefox, IE6, IE7 и IE8.
источник
code
<div id = "img_content"> <img id = 'aj_loader' src = 'assets / 2631.gif' style = "display: none;" /> </div> А затем:code
$ ("# img_content"). html ($ ("# img_content"). html ());старый вопрос, но публикуем это для других гуглеров:
Spin.js РАБОТАЕТ для этого варианта использования: http://fgnass.github.com/spin.js/
источник
IE предполагает, что нажатие на ссылку предвещает новую навигацию, в которой будет заменено текущее содержимое страницы. Как часть процесса для этого, он останавливает код, который анимирует GIF. Я сомневаюсь, что вы можете что-то с этим поделать (если вы на самом деле не перемещаетесь, и в этом случае используйте return false в событии onclick).
источник
Вот jsFiddle, который отлично работает с отправкой формы с помощью method = "post". Счетчик добавлен в событие отправки формы.
Смотрите код jsFiddle здесь
Протестируйте его в своем браузере IE здесь
источник
Я наткнулся на этот пост, и, хотя на него уже был дан ответ, я решил, что должен опубликовать некоторую информацию, которая помогла мне решить эту проблему, характерную для IE 10, и может помочь другим, получившим этот пост с аналогичной проблемой.
Я был сбит с толку тем, как анимированные гифки просто не отображались в IE 10, а затем нашел этот драгоценный камень.
Tools→ Internet Options→ Advanced→ MultiMedia→Play animations in webpages
надеюсь это поможет.
источник
beforeunload
илиunload
событии.Я столкнулся с этой проблемой при попытке показать загружаемый gif во время обработки отправки формы. Это было еще более забавно, так как тот же onsubmit должен был запустить валидатор, чтобы убедиться, что форма верна. Как и все остальные (в каждом сообщении формы IE / gif в Интернете), я не мог заставить счетчик загрузки "вращаться" в IE (и, в моем случае, проверить / отправить форму). Просматривая советы на http://www.west-wind.com, я нашел сообщение ev13wt, в котором говорилось, что проблема заключалась в том, что «... IE не отображает изображение как анимированное, потому что оно было невидимым при визуализации. " В этом был смысл. Его решение:
Оставьте поле пустым, где будет размещаться gif, и используйте JavaScript для установки источника в функции onsubmit - document.getElementById ('loadingGif'). Src = "путь к файлу gif".
Вот как я это реализовал:
У меня это хорошо работало во всех браузерах!
источник
Вот что я сделал. Все, что вам нужно, это разбить ваш GIF на 10 изображений (в данном случае я начал
01.gif
и закончил10.gif
) и указать каталог, в котором вы их храните.HTML:
JavaScript:
Этот метод работает с IE7, IE8 и IE9 (хотя для IE9 вы можете использовать
spin.js
). ПРИМЕЧАНИЕ. Я не тестировал это в IE6, так как у меня нет машины с браузером 60-х годов, хотя метод настолько прост, что, вероятно, работает даже в IE6 и ниже.источник
В связи с этим мне пришлось найти исправление, при котором анимированные гифки использовались в качестве фонового изображения, чтобы обеспечить сохранение стиля в таблице стилей. Подобное исправление сработало и у меня ... мой сценарий выглядел примерно так (я использую jQuery, чтобы упростить получение вычисленного стиля фона - как это сделать без jQuery - тема для другого сообщения):
[EDIT] Пройдя немного больше тестирования, я только что понял, что это не работает с фоновыми изображениями в IE8. Я пробовал все, что мог придумать, чтобы IE8 отображал gif-анимацию при загрузке страницы, но в настоящее время это кажется невозможным.
источник
$(spinner).css('background-image')
), но вместо того, чтобы устанавливать его таким же образом, вы используете чистый Javascript way (spinner.style.backgroundImage
). Ваш код не работает у меня ни в одном браузере. Если я использую ваш код напрямую, то получаюcannot set backgroundImage property of undefined
ошибку. Если я изменю ваш код для установки CSS с помощью jQuery, код будет работать без ошибок, но изображение не будет сброшено, а элемент div / spinner останется пустым. Не знаю почему?background-image
свойствоunload
илиbeforeunload
события. См. Этот вопрос или этот jsFiddle для подробностей.Основываясь на ответе @danfolkes, это сработало для меня в IE 8 и ASP.NET MVC3.
В нашем _Layout.cshtml
<<< содержание >>> ...
И в наших навигационных ссылках:
или
источник
Нашел это решение на http://timexwebdev.blogspot.com/2009/11/html-postback-freezes-animated-gifs.html, и оно РАБОТАЕТ! Просто перезагрузите изображение перед тем, как сделать его видимым. Вызовите следующую функцию Javascript с помощью кнопки onclick:
источник
Я понимаю, что это старый вопрос и что к настоящему времени каждый исходный плакат нашел решение, которое работает для него, но я столкнулся с этой проблемой и обнаружил, что теги VML не становятся жертвой этой ошибки IE. Анимированные GIF-файлы по-прежнему перемещаются во время выгрузки страницы, если их размещают в браузере IE с помощью тегов VML.
Обратите внимание, что я обнаружил VML прежде, чем принял решение использовать теги VML, поэтому он работает в FireFox и других браузерах, использующих обычное поведение анимированного GIF.
Вот как я это решил.
Естественно, это зависит от jQuery, jQueryUI и требует анимированного GIF определенного типа ("/images/loading_gray.gif").
источник
JQuery:
источник
Просто была аналогичная проблема. Это отлично сработало для меня.
Другая идея заключалась в использовании jQuery .load (); чтобы загрузить, а затем добавить изображение.
Работает в IE 7+
источник
Очень, очень поздно отвечать на этот вопрос, но я только что обнаружил, что использование фонового изображения, которое закодировано как URI base64 в CSS, а не хранится как отдельное изображение, продолжает анимироваться в IE8.
источник
Очень простой способ - использовать jQuery и плагин SimpleModal . Затем, когда мне нужно показать мою "загружающуюся" гифку при отправке, я делаю:
источник
У меня была та же проблема, которая характерна и для других браузеров, таких как Firefox. Наконец я обнаружил, что динамическое создание элемента с анимированным gif внутри при отправке формы не анимируется, поэтому я разработал следующий рабочий цикл.
1)
document.ready()
Каждая ФОРМА, найденная на странице, получаетposition:relative
свойство, а затем к каждой из них прикрепляется невидимоеDIV.bg-overlay
.2) После этого, предполагая, что каждое значение отправки моего веб-сайта идентифицируется
btn-primary
классом css, я сноваdocument.ready()
ищу эти кнопки, перехожу к родительскому элементу FORM каждого из них, а при отправке формы я запускаюshowOverlayOnFormExecution(this,true);
функцию, передавая нажатую кнопку и логическое значение, которое переключает видимостьDIV.bg-overlay
.CSS для
DIV.bg-overlay
следующего:3) При отправке любой формы запускается следующая функция, чтобы показать наложенный на нее полу-белый фон (который лишает возможности снова взаимодействовать с формой) и анимированный gif внутри него (который визуально показывает действие загрузки).
Отображение анимированного gif при отправке формы вместо добавления его в это событие решает проблему «зависания анимации gif» в различных браузерах (как уже говорилось, я обнаружил эту проблему в IE и Firefox, а не в Chrome)
источник