私はページの読み込み時間を改善するためにフォントを事前に読み込んでいます:
<link rel="preload" as="style" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"/>
<link rel="preload" as="font" type="font/woff2" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0"/>
ただし... Chromeはフォントを2回ダウンロードしてレポートするようです
リソース http://maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3. はリンクプリロードを使用してプリロードされましたが、ウィンドウのロードイベントから数秒。無償でプリロードされていないことを確認してください。
crossorigin属性を追加する必要があります フォントをプリロードするとき。
<link rel="preload" as="style" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css"/>
<link rel="preload" as="font" type="font/woff2" crossorigin href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0"/>
この方法を試してください:
<style>
@font-face {
font-family: 'FontAwesome-swap';
font-display: swap;
src: local('FontAwesome'), url(https:////maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0) format('woff2');
}
</style>
rel="preload"
(既に行ったこと)を使用してリンクをプリロードスタイルシートとしてマークするとともに、ファイルをロードするときにJavaScriptを使用してrel
属性をstylesheet
に切り替える必要もあります。
<link rel="preload" as="style" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" onload="this.rel='stylesheet'"/>
<link rel="preload" as="font" type="font/woff2" crossorigin href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0"/>
プリロードを実行している順序のため、2回ロードすることができます。
<link rel="preload" as="font" type="font/woff2" crossorigin href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/fonts/fontawesome-webfont.woff2?v=4.3.0"/>
<link rel="preload" as="style" href="//maxcdn.bootstrapcdn.com/font-awesome/4.3.0/css/font-awesome.min.css" onload="this.rel='stylesheet'"/>
最初にフォントをプリロードして、css @ font-faceが再度ロードする要求を送信しないようにします。