Подтвердить что ты не робот

HTML5 appcache с Safari, вызывающий кросс-сайт css, чтобы не загружать

У меня возникла проблема с одним из моих веб-страниц, который был изменен для использования функции appcache HTML5. Safari блокирует мои файлы css для кросс-сайтов, когда приложение включено на странице. Страница http://www.ericperrets.info/ загружает несколько файлов image/css с моего сервера и количество файлов css с URL-адресов google/серверов. Ниже приведено содержимое файла epi.appcache

CACHE MANIFEST
#v2

CACHE:
default.css
/images/bg.gif
/images/bg2.gif
/images/external.png
/images/logo.gif
/images/mail_48.png
/images/meme.jpg
/images/pdficon.gif
/images/telephone_32.png
/favicon.ico
/js/dojo/dojo/dojo.js

NETWORK:
Resume%20-%20Eric%20Perret.pdf
index.html

Это работает при загрузке страницы в firefox, но когда я пытаюсь загрузить его в Safari, он блокирует вызовы http://fonts.googleapis.com/css? family = Reenie + Beanie & v1 и http://fonts.googleapis.com/css?family=Candal&v1 заблокированы сообщением

Невозможно показать URL-адрес

Не знаю, почему это происходит.

4b9b3361

Ответ 1

Приложения, когда они определены, используются браузером, чтобы указать, какие файлы существуют на вашем сайте, которые относятся к конкретной странице, которую посещает браузер. Вспомните appcache как белый список, в нем перечислены все файлы, к которым можно получить доступ, и как они должны быть доступны.

Поэтому, когда Safari, который по моему опыту следит за стандартом AppCache немного более строго, чем Firefox, видит запрос на веб-адрес, который отсутствует в AppCache, он не разрешает доступ.

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

NETWORK:
*
http://*
https://*