@字体动态加载<link(...)=“”/>。到处工作(Chrome,IE8,Safari)除了FIREFOX!

时间:2011-01-19 21:58:25

标签: jquery ajax firefox font-face dynamic-loading

我正在为wordpress制作一个插件。我正在动态地将字体加载到tinymce

//load font to iframe
function loadFontFace(fontId)
{

    var iframe = jQ('#content_ifr').contents();
    var head = iframe[0].getElementsByTagName('head')[0];
    var linkElement = jQ(document.createElement('link'));
    linkElement.attr({href: 'http://fontsforweb.com/font/generatecss/?id=' + fontId, rel: 'stylesheet', type: 'text/css'});
    linkElement.prependTo(head);
}

除了Firefox以外,无处不在!网络选项卡中的Firebug显示已加载CSS和TTF字体文件,但我认为没有效果。

我不打算使用webfont加载器,因为它几乎可以工作。

1 个答案:

答案 0 :(得分:0)

在htaccess中:

<FilesMatch "\.(eot|otf|woff|ttf)$">
 Header set Access-Control-Allow-Origin *
</FilesMatch>

解决了问题


经过一段时间的搜索,看起来我到了那里!我可以看到firebug网络选项卡中的TFF文件只有1KB。但它有17KB。解决方案很快就会在这里我希望:)

稍后编辑30分钟 这些是来自net panel firebug的文件详细信息:

  

我的字体(不工作):
  内容编码gzip
  服务器Apache   Etag“225c018-4448-480e34c5df480”
  Accept-Ranges字节
  内容类型文本/平原
  年龄176
  2011年1月19日星期三23:03:31格林威治标准时间   Last-Modified Wed,03 Mar 2010 10:53:54 GMT
  到期日,2011年1月20日23:03:31格林尼治标准时间   Transfer-Encoding chunked

     

谷歌字体(工作):
  内容类型字体/ ttf
  内容编码gzip
  到期日,2011年1月20日16:45:42 GMT
  2011年1月19日星期三格林尼治标准时间16:45:42   Access-Control-Allow-Orig ... *
  Last-Modified星期二,2010年9月21日17:51:21 GMT
  内容长度20232
  内容 - 处置附件;文件名= “Cuprum.ttf”
  X-Content-Type-Options nosniff
  X-Frame-Options SAMEORIGIN
  X-XSS-Protection 1;模式=块
  服务器GSE
  Cache-Control public,max-age = 86400
  年龄23113
  连接保持活力