0

アイコンを最初にダウンロードしたとき、それらはすべてのブラウザーで機能しました。ただし、現在はライブであり、フォントは別のサーバー上にあり、IE や Firefox では動作しませんが、Chrome と Opera では問題ありません。誰でもアイデアはありますか?コードを 3 回チェックし、すべてのフォントがサーバー上にあることを確認しました。

@font-face {
font-family: 'icomoon';
src:url('http://static.mydomain.com/design_media/fonts/icomoon.eot');
src:url('http://static.mydomain.com/design_media/fonts/icomoon.eot?#iefix') format('embedded-opentype'),
    url('http://static.mydomain.com/design_media/fonts/icomoon.svg#icomoon') format('svg'),
    url('http://static.mydomain.com/design_media/fonts/icomoon.woff') format('woff'),
    url('http://static.mydomain.com/design_media/fonts/icomoon.ttf') format('truetype');    
font-weight: normal;
font-style: normal;
}
4

1 に答える 1

1

JS ファイルなどのフォントには、いくつかの XSS 制限があります。

これらの制限を回避するには、クロスドメイン フォント ファイルを許可するようにサーバーを構成する必要があります。

Apache では、ヘッダー モジュールをインストールし、これを conf に追加する必要があります。

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

編集: Access-Control-Allow-Origin の後の「*」パラメーターは、おそらく特定のドメインに限定される可能性があります。

詳細については、 http://www.w3.org/TR/cors/を参照してください。

于 2013-02-05T08:53:52.390 に答える