Сайт мерцает при навигации по страницам с одинаковым bg - FFX & IE - PullRequest
0 голосов
/ 29 февраля 2012

Здесь вы можете протестировать веб-сайт, над которым я сейчас работаю: http://www.whateverxpress.com/wx_site/

При переходе по разделам веб-сайта вы получите неприятное мерцание в Firefox и IE, у меня этого нетпроблема на Chrome больше, но у меня было, пока я не изменил фон объекта SWF с непрозрачного на прозрачный.Поэтому я подумал, что это может быть ошибка объекта SWF, но я попытался удалить все js-кодирование и флэш-анимацию, и то же самое преобладает.Так что даже с использованием только html и css я получаю эту проблему на ff (10.0.2) - ночью 13.0a1 - IE 9 (мерцание не будет отображаться в IE 8).

Кэш настроенна htaccess вот так:

ExpiresActive On
ExpiresByType image/png "access plus 5 hour"
ExpiresByType image/jpg "access plus 5 hour"
ExpiresByType text/css "access plus 5 hour"
ExpiresByType text/html "access plus 5 hour"
ExpiresByType application/x-shockwave-flash "access plus 5 hour"
ExpiresByType application/javascript "access plus 5 hour"

FileETag none

Не уверен, что сказав это для кэширования в течение года, будет иметь значение, так как я тестировал на 5-часовом диапазоне ...

Я получил этоCSS-код для загрузки фонового изображения:

#wrapper {
width:816px;
height:921px;
margin:auto;
background:url(img/wx_base_optimized5.jpg) no-repeat;}

Как вы можете видеть, это большое изображение, но я не думал, что это вызовет эту неприятную проблему.

Я читал наЗа последние пять дней было много сайтов, и я ничего не нашел, чтобы решить эту проблему, так что вы, ребята, моя последняя надежда.Я заранее благодарю вас за то, что вы прочитали это много, я надеюсь, что вы могли бы помочь мне.

PS: Примерно один раз из 15 попыток он показывает корректно ночью, не знаю почему.

ОБНОВЛЕНИЕ: Я исправил мерцание.Я удалил основной фон jpg, и, к моему удивлению, мерцание все еще присутствовало, поэтому я подумал, что это вызвано чем-то другим.Отключая части моих правил CSS, я обнаружил, что «.stripped_box», на котором было другое изображение (около 450 * 450), заставлял мой сайт мерцать (по крайней мере, в разделах, которые используют это правило), поэтому я отредактировал, чтобы использовать толькоИстория вопроса и часть проблемы были решены (хотя я понятия не имею, почему).Но основной причиной был код встраивания объекта .swf.(Я пытался раньше без него, но так как .stripped_box тоже мерцал, я не заметил разницы).Я попытался внедрить его, используя объектный код Adobe Dreamweaver SWF и традиционную систему встраивания. Кажется, что они оба работают нормально на chrome и IE8, но не на FFX, поэтому я добавил swfobject.js, и проблема была решена.Спасибо за предложения ajax, я собирался идти в этом направлении, но я хотел проверить в последний раз.Я надеюсь, что этот вопрос может помочь кому-то с той же проблемой.PS: эта проблема все еще присутствует в IE 9, но я думаю, что не стоит конвертировать мой сайт в ajax только для этой версии Msie, так как он хорошо работает в IE 8. Edit # 2: Даже еслииспользование swfObject устранило проблему в Firefox, я заметил, что время от времени я могу видеть мерцание chrome, не всегда, но все еще там, поэтому, чтобы исправить это, я обнаруживаю браузер пользователей и обслуживаю скрипт объекта swf, если они используют ff, иначе ничего не делай, и все идеально.Я должен признать, что, хотя на ff больше нет мерцания, есть некоторая задержка при переключении страниц, но это было лучшее, что я мог сделать, я надеюсь, что это кому-нибудь поможет, потому что я видел эту проблему на тоннахсайтов, использующих флэш-анимацию.

Ответы [ 2 ]

2 голосов
/ 29 февраля 2012

Пробовал на моем mac с FF, Chrome и Safari.Firefox отстает почти всегда, но не всегда.Chrome и Safari отстают редко, но иногда случаются.

У меня тоже была проблема с Firefox со слишком большими шаблонами для фона.Переход на меньшие шаблоны решил проблему, но я не думаю, что это вариант для вашего сайта, если вы хотите сохранить фон.Если вы можете жить без форм на стороне, вы можете использовать уменьшенное изображение и повторить его по вертикали.Веб-сайт также получит такую ​​гибкую высоту, как эта.

Вторая идея: Используйте AJAX .Не перезагружайте сайт для отображения нового контента, просто загрузите контент и отобразите его.Он не должен мигать, если вы используете AJAX.

1 голос
/ 29 февраля 2012

AJAX - лучший способ решить эту проблему. Обновите контент внутри своего сайта, а не всю страницу.

...