0

次のような CSS で定義された font-face があります。

@font-face {
  font-family: 'iconFont';
  src: 
      url('../fonts/iconFont.eot?') format('eot'), 
      url('../fonts/iconFont.woff') format('woff'), 
      url('../fonts/iconFont.svg#iconFont') format('svg'), 
      url('../fonts/iconFont.ttf') format('truetype');
  font-weight: normal;
  font-style: normal;
}

同様の形式の他のフォントフェイスもいくつか持っています。PC の完全修飾ドメイン名 (「mypc.mydomain.local」など) を使用すると、Internet Explorer 9 以降はフォントを取得し、ページを正しくレンダリングします。ただし、ラップトップのホスト名 (「mypc」など) だけを使用すると、IE はフォントを取得しようとしません。Fiddlerを使用してこれを確認しました。

私が確認できる唯一の違いは、完全修飾名が使用されているか (インターネット)、ホスト名だけが使用されているか (ローカル イントラネット) によって、異なるセキュリティ ゾーンが有効になっていることです。これらのゾーンは両方とも、私の PC で有効に設定された「フォントのダウンロード」が設定されています。

それがセキュリティ ゾーンに関連している場合、イントラネット設定がインターネット設定よりも許可されていないように見えるのは驚くべきことです。またはIEのバグです。

Firefox は、使用しているホスト名に関係なく、フォントをダウンロードして正しくレンダリングします。

4

1 に答える 1

0

Internet Explorer は、WOFF フォントに対して同一生成元または CORS チェックを強制します。「mypc.mydomain.local」にページがある場合、適切なAccess-Control-Allow-Originヘッダーが存在しない限り、「mypc」のフォントを使用できません。

https://developers.google.com/fonts/docs/troubleshooting#CORS_header

于 2013-07-12T22:35:28.680 に答える