Как отобразить .gif в качестве фонового изображения? - PullRequest
1 голос
/ 06 апреля 2010

У меня есть функция загрузки javascript, подобная этой:

function splashScreen() {
    var div = document.createElement('div');
    div.appendChild(document.createTextNode("some text"));
    div.style.position = "fixed";
    div.style.width = "100%";
    div.style.height = "100%";
    div.style.left = "0";
    div.style.top = "0";
    div.style.zIndex = "1000";
    div.style.background = "white url('img/ajax-loader.gif') no-repeat center";
    div.style.fontSize = "x-large";
    div.style.textAlign = "center";
    div.style.lineHeight = "3em";
    div.style.opacity = "0.75";
    div.style.filter = "alpha(opacity=75)"; // fix ie
    document.body.appendChild(div);
    return true;
}

Я использую эту функцию в действии формы (onsubmit="return splashScreen()"), чтобы показать «вращающийся логотип» при загрузке следующей страницы ... Проблема в том, что "img / loading.gif" и safari (на winXP): в ff и т. Е. У меня нет проблем, и я четко вижу анимированный gif. В сафари я не вижу этого. Если я изменю изображение с помощью (очевидно, статического) PNG, изображение появляется ... Я делаю что-то неправильно? В чем проблема с сафари?

Ответы [ 3 ]

0 голосов
/ 06 апреля 2010

Я лично не знаком с этой проблемой, но мне удалось найти несколько похожих сообщений об ошибках в Интернете.Что еще вы делаете на этой странице?Вы продолжаете фокусироваться на странице, когда сталкиваетесь с этой проблемой?Очевидно, обработка анимированных GIF-файлов довольно сложна:

http://webkit.org/blog/96/background-music/
http://www.quirksmode.org/bugreports/archives/2004/12/animated_gifs_u.html
https://bugs.webkit.org/show_bug.cgi?id=7320

Особенно актуальный фрагмент этой первой ссылки:

В ночных Safari 2 и WebKit GIF-изображения не анимируются, если их не нарисовать где-нибудь.Если анимированный GIF становится невидимым, анимация приостанавливается, и анимация не потребляет ЦП.Поэтому все анимированные изображения на фоновой вкладке не будут анимироваться, пока страница на этой вкладке не станет видимой.Если анимированный GIF прокручивается за пределами экрана даже на переднем плане, анимация прекращается, пока он снова не становится видимым.

Использование ЦПУ в Safari с анимированными GIF очень хорошее.(Некоторое время читатели MacNN думали, что у Safari «анимированная проблема GIF» из-за медлительности при вводе сообщений на форумах, но эта ошибка на самом деле была связана с Flash-объявлениями вверху и внизу страницы).1016 *

0 голосов
/ 06 апреля 2010

Может быть, это ваш GIF-образ?Я только что запустил ваш код на Safari 4.0.4 под windows с gif, созданным на http://www.ajaxload.info/ и работает без нареканий.

0 голосов
/ 06 апреля 2010

Safari недостаточно хорошо справляется с анимированным фоном. Я где-то видел сообщение об ошибке об этом.

Почему бы вам просто не использовать изображение вместо фона?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...