2015-02-21 6 views
0

При попытке использовать файл шрифта из другого домена на веб-странице я столкнулся с ограничениями политики ресурсов Cross Origin во всей красе.Внешний веб-шрифт через перенаправление

Таким образом, вместо ссылки на внешний URL-адрес шрифта непосредственно из CSS с помощью @font-face я ссылался на путь локального URL-адреса, который перенаправляется на внешний ресурс шрифта. Я думал, что браузер может рассматривать шрифт как ресурс одного домена. И действительно, перенаправление, казалось, обманывало Chrome в использовании внешнего шрифта, но с Firefox это было не так, что это не позволяло.

Мое вопрос, какое из двух видов поведения, продемонстрированное Chrome и Firefox соответственно, соответствует стандартам?

+1

Просто добавьте примечание к стороне, для загрузки ресурсов с помощью CORS вы можете иногда обманывать, создавая 'loader.php? Url = ...' с 'echo file_get_contents ($ _ GET ['url']);' в нем. .. это сработало для меня. – Miro

+0

Ах, добра. Таким образом, вы можете проксировать ресурс, чтобы даже браузер не мог сказать, что он является внешним. Ухоженная! – mksios

ответ

1

От: http://www.w3.org/TR/cors/#cors-api-specification-redirect

Поскольку браузеры на основе той же модели безопасности происхождения и политики изложены в данном описании предназначен для интерфейсов, используемых в браузерах, то ожидается, что API-интерфейсы, которые будут использовать эту политику должны обрабатывать один и тот же запрос источника, который приводит к переадресации, что является перекрестным путем особым образом.

Для API-интерфейсов, которые прозрачно обрабатывают переадресацию. Спецификации API CORS призваны прозрачно обрабатывать этот сценарий, «перехватывая» перенаправление и вызывая алгоритм запроса перекрестного происхождения на URL-адресе перекрестного происхождения.

Из того, что я могу понять, кажется, что Firefox обрабатывает «правильный путь».

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