IE7/IE8 и замороженный анимировал gifs

Я рекомендовал бы получить VMware Player и использовать бесплатное Моно изображение платформы разработки, которое предоставлено на веб-сайте.

Загрузка, Моно

, Время установки для этого будет минимально, и это также позволит Вам получать свой код, работающий в.NET и затем фокусироваться на портировании проблем без крупной стычки переключающихся машин и т.п.. инструменты VMWare Player позволят Вам просто перетаскивать файлы для копирования их.

я надеюсь брать несколько своих приложений.NET и делать их Моно совместимый, и это - путь, который я собираюсь взять здесь вскоре.

15
задан Arnis Lapsa 26 November 2009 в 13:36
поделиться

1 ответ

Я однажды столкнулся с этим. Если бы я попытался использовать JavaScript, чтобы показать небольшую пульсацию при загрузке, когда браузер перешел на страницу, загрузка которой потребует времени, IE не будет анимировать GIF. Я решил эту проблему, поместив загрузочный пульсатор непосредственно в HTML (не вставленный через JavaScript) в скрытом div:

<div id="pseudo-progress-area" style="display: none;">
    <h3>Please wait while we process your PayPal transaction...</h3>
    <p style="text-align: center;">
        <img src="/Media/Template/Images/LoadingProgressBar.gif" alt="" />
    </p>
</div>

, а затем с помощью JavaScript для переключения видимости div после небольшой задержки (здесь используется более старая версия Библиотека прототипов, но вы поняли идею):

<script type="text/javascript">    
    // We have to call this function via a setTimeout() or else IE7 won't
    // animate the GIF as the next page is loading.
    var fnHideConfirmation = function() {
        Element.hide( 'confirmation-area' );
        Element.show( 'pseudo-progress-area' );
    };    
</script>

Эта функция запускается кнопкой отправки формы:

<input 
    type="submit"
    class="button"
    name="SubmitConfirmation"
    value="Buy Now →"
    onclick="setTimeout(fnHideConfirmation, 50);" />

Поэтому вместо того, чтобы откладывать изменение атрибута src, оставьте его в покое и просто отложите вызов всей вашей функции showLoading () . Удачи!

9
ответ дан 1 December 2019 в 04:34
поделиться
Другие вопросы по тегам:

Похожие вопросы: