2016-12-01 5 views
0

Я обнаружил, что в качестве предварительно загруженных изображений, используемых в атрибутах фонового изображения, браузер Safari (рабочий стол и мобильный) повторно запросил их, которые уже были предварительно загружены. (и ответы от Theire - ответ 304.)Предварительная загрузка фонового изображения и ответа 304

Если изображения предварительно загружены, браузер Chrome (рабочий стол и мобильный телефон) никогда не запрашивает его снова. Он просто появляется сразу.

Но я должен подождать несколько раз в Safari, потому что Safari перепросит его для получения ответа 304!

Я не хочу, чтобы вас повторно запрашивали в Safari, потому что, если есть тег div, динамическое изменение фона которого по своему классу, мерцание происходит всякий раз, когда его класс изменяется.

Это не критично на рабочем столе, но на самом деле имеет решающее значение для мобильных устройств.

Как я могу связаться с ним?

P.S.

Предварительная загрузка может быть произведена каким-либо образом с использованием тега img, явного css-изображения или атрибутов контента или javascript!

ответ

0

Я решил эту проблему в особой ситуации.

На моем веб-сайте я добавляю фоновое изображение к тегу BODY, и когда пользователи нажимают кнопку, добавляя EventListener с функцией обратного вызова (изменяя URL-адрес фонового изображения и предварительно загружая другое изображение для следующего щелчка) ,

Когда я тестирую эти функции в локальной среде хоста (для которых href равен 127.0.0.1), после щелчка по целой странице будет мигать/щелкнуть при изменении URL-адреса фонового изображения. Я выкапываю HTTP res/rep с Wireshark, а затем обнаружил, что Safari повторно запросит одно и то же изображение (даже если оно уже предварительно загружено).

Вещи странные, когда протестировать все эти функции с помощью сервера изображений (который находится в href как www.abcdefgh.com/image/test_xxx.jpg, а не IP-адрес), мигание/щелчок исчез. Наблюдайте в Wireshark, повторный запрос также пропал!

Смежные вопросы