Я разрабатываю веб-сайт (например, mywebsite.com), и этот сайт загружает шрифтовые шрифты с другого сайта (например, anothersite.com). У меня возникли проблемы с загрузкой шрифта шрифта в Firefox, и я прочитал в этом блоге :
Firefox (который поддерживает @ font-face из v3.5) по умолчанию не разрешает использование междоменных шрифтов. Это означает, что шрифт должен обслуживаться из того же домена (и поддомена), если вы не можете добавить к шрифту заголовок «Access-Control-Allow-Origin».
Как установить шрифт в заголовке Access-Control-Allow-Origin?
Ответы:
Итак, что вы делаете ... В папке файлов шрифтов поместите файл htaccess со следующим содержимым.
также в вашем удаленном файле CSS для объявления font-face требуется полный абсолютный URL-адрес файла шрифта (не требуется в локальных файлах CSS):
например
Это решит проблему. Следует отметить, что вы можете точно указать, каким доменам должен быть разрешен доступ к вашему шрифту. В приведенном выше htaccess я указал, что каждый может получить доступ к моему шрифту,
"*"
однако вы можете ограничить его следующими параметрами:Единый URL:
Набор заголовков Access-Control-Allow-Origin http://example.com
Или список URL-адресов, разделенных запятымиAccess-Control-Allow-Origin: http://site1.com,http://site2.com
(Множественные значения не поддерживаются в текущих реализациях)
источник
url('/fonts/League_Gothic.woff') format('woff')
Достаточно просто , если вы храните папку «fonts» в том же каталоге, что и ваш файл .css.Согласно официальной документации , браузерам не нравится, когда вы используете
заголовок, если вы также используете
заголовок. Вместо этого они хотят, чтобы вы конкретно разрешили их происхождение. Если вы все еще хотите разрешить любое происхождение, вы можете использовать простую магию Apache, чтобы заставить его работать (убедитесь, что вы
mod_headers
включили):Браузеры должны отправлять
Origin
заголовок на все междоменные запросы. В документации конкретно указано, что вам нужно повторить этот заголовок обратно вAccess-Control-Allow-Origin
заголовке, если вы принимаете / планируете принять запрос. Вот что делает этаHeader
директива.источник
?yourdomain
в последнем случае работает, но немного обесценивает преимущества использования CDN)SetEnvIfNoCase Origin (.+) HTTP_ORIGIN=$1
.Принятый ответ, к сожалению, не работает для меня, поскольку CSS-файлы моего сайта @import CSS-файлы шрифтов, и все они хранятся в CDN Rackspace Cloud Files.
Поскольку заголовки Apache никогда не генерируются (поскольку мой CSS не на Apache), мне пришлось сделать несколько вещей:
Посмотрите, удастся ли вам обойтись только с №1, поскольку второй требует немного работы из командной строки.
Чтобы добавить настраиваемый заголовок в # 1:
Если вам нужно продолжить и выполнить №2, вам понадобится командная строка с CURL
Из возвращенных результатов извлеките значения для X-Auth-Token и X-Storage-Url.
Конечно, этот процесс работает только в том случае, если вы используете Rackspace CDN. Другие CDN могут предлагать аналогичные возможности для редактирования заголовков объектов и изменения типов контента, так что, возможно, вам повезет (и разместите здесь дополнительную информацию).
источник
Для приложения на основе Java добавьте это в свой файл web.xml:
источник
Проверьте эту ссылку .. Это определенно решит вашу проблему .. Существует множество решений для выполнения междоменных вызовов GET Ajax, НО ЗАПРОС POST ДЛЯ CROSS DOMAIN РЕШАЕТСЯ ЗДЕСЬ . На это у меня ушло 3 дня.
http://blogs.msdn.com/b/carlosfigueira/archive/2012/02/20/implementing-cors-support-in-asp-net-web-apis.aspx
источник
В вашем file.php запроса ajax можно установить заголовок значения.
источник