Значки шрифта не отображаются при динамической загрузке из пользовательского сценария

Я написал собственный скрипт для включения различных файлов, которые я часто делаю. Примеры таких файлов:

  • bootstrap.css
  • bootstrap.js
  • jquery.js
  • jqueryui.js
  • шрифт-awesome.css

Мой пользовательский скрипт называется remote.php. Я включаю мои случайные файлы CSS и JS в мои страницы, как это:

<!-- bootstrap css -->
<link rel="stylesheet" href="remote.php?type=bscss" type="text/css">
<!-- font awesome css -->
<link rel="stylesheet" href="remote.php?type=facss" type="text/css">
<!-- bootstrap js -->
<link href="remote.php?type=bsjs" type="application/javascript">
<!-- jquery js -->
<link href="remote.php?type=jqueryjs" type="application/javascript">

Теперь все файлы, которые я включаю, были загружены с соответствующих веб-сайтов, загружены на мой сервер и установлены / настроены (при необходимости) в соответствии с инструкциями, предоставленными домашними сайтами.

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

Я удостоверился, что установил заголовки в моем файле remote.php на основе сценария, который я вызываю.

  • .Заголовки CSS установлены как текст / CSS
  • .заголовки js, установленные как application / javascript

Атрибут src шрифта awesome css files был обновлен до полного URL моего сайта, но все еще ничего.

Значки работают, если я напрямую вызываю файл font-awesome.css (который находится на моем сервере), и если мне нужно сделать это, чтобы значки работали, я это сделаю. Тем не менее, наличие одного сценария, включающего все мои необходимые файлы, упрощает жизнь, поэтому мне бы очень хотелось разобраться с этим.

0

Решение

Я смог решить свою проблему, которая оказалась проблемой CORS, и вместо того, чтобы вернуть 404, он возвращал 403.

Решением было отредактировать мой файл .htaccess, расположенный в корне моего сервера. Следующий код исправил мою проблему.

# ----------------------------------------------------------------------
# Webfont access
# ----------------------------------------------------------------------
# Allow access from all domains for webfonts.
# Alternatively you could only whitelist your
# subdomains like "subdomain.example.com".
<IfModule mod_headers.c>
<FilesMatch "\.(ttf|ttc|otf|eot|woff?|woff2?|font.css|css)$">
Header set Access-Control-Allow-Origin "http://SUBDOMAIN.DOMAIN.org"</FilesMatch>
</IfModule>
1

Другие решения

Вы должны скачать шрифты тоже. Возможно, у вас есть относительные пути к шрифтам.

0

По вопросам рекламы [email protected]