从自定义脚本动态加载时,不显示字体真棒图标

时间:2016-09-15 03:56:01

标签: php css font-awesome

我编写了一个自定义脚本来包含我经常请求的各种文件。此类文件的示例如下:

  • 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标题设置为text / css
  • .js标头设置为application / javascript

字体真棒css文件src属性已更新到我的网站的完整网址,但仍然没有。

如果我直接调用font-awesome.css文件(在我的服务器上),图标就可以工作,如果我必须这样做以使图标工作,我会的。但是,让一个脚本包含我所需的所有文件会让生活更简单,因此我真的很想弄明白这一点。

2 个答案:

答案 0 :(得分:1)

我能够解决我的问题,结果证明是一个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)

您也必须下载字体。可能你有相关的字体 - 真棒字体路径。