検索
ホームページウェブフロントエンドjsチュートリアルフォントローダーでページのパフォーマンスを改善する方法

How to Improve Page Performance with a Font Loader

キーポイントの概要

概要

    フォントローダーを使用すると、Webページのフォントの読み込みと方法を制御できるため、Webページのパフォーマンスを大幅に向上させると、ページの読み込み時間を短縮し、「スタイルのないテキストがちらつく」(FOUT)を避けます。
  • WebFontLoader JavaScriptライブラリは、ページをロードした後にバックグラウンドのさまざまなソースからフォントをロードできる非常に便利なツールであり、CSSおよびJavaScriptコールバック関数を使用してロードプロセスのカスタマイズを可能にします。
  • フォントの使用とユーザーエクスペリエンスはバランスが取れている必要がありますが、フォントはウェブサイトの美学を強化する必要があります。したがって、フォントローダーを使用して、代替フォントを実装すると、スムーズで高速なユーザーエクスペリエンスを維持できます。
  • この記事の執筆につながったインスピレーションをしてくれたJason Pamentalに感謝します。そうでなければ、私はこれについて考えないかもしれません!
arial、Times New Roman、Helveticaまたは…(Chilling)をWebページで最後に使用したときは…コミックサンズはいつでしたか? Webフォントは遅すぎるように見えますが、一度表示されると、振り返ることはありません。フォントは楽しいです、(通常)無料で実装しやすい:

その後、ページでフォントを使用できます。

<code>@import url(http://fonts.googleapis.com/css?family=Ubuntu:300,300italic,400,400italic,500,500italic,700,700italic);</code>
フォントはモバイルデバイスで適切に動作するため、ユーザーはレスポンシブWebデザインで優れたエクスペリエンスを得ることができます。

それとも本当にそうですか?

<code>body {
    font-family: Ubunutu, sans-serif;
    font-weight: 400;
}</code>

写真の後、フォントは通常、Webページで最大のリソースです。上記のubuntuフォントは、ページにほぼ250kbを追加します。これは、モバイルネットワーク接続が遅いことで明らかです。 Chrome、Ie、Safari、およびOperaは、フォントがロードされたときに空白のスペースを残すため、ページを使用できません。 FirefoxおよびOperaの古いバージョンは、代替フォントとスイッチでテキストを表示します。これは、非スタイルのテキストフラッシュ(FOUT)と呼ばれます。これらの状況はどちらも理想的ではありません。フォントの重み付けの問題について心配することはめったになく、「これは最初のページの問題です」や「多くのユーザーがフォントをキャッシュしている」などの言い訳をすることはめったにありません。あまり使用されていないフォントを省略する場合があります。標準的なオペレーティングシステムフォントを使用して明らかなソリューションを採用することを敢えてする人はほとんどいません。当社のクライアントとデザイナーは決して私たちを許しません。

javascript webfontloader

幸いなことに、別のオプションがあります:webfontloader。このJavaScriptライブラリは、Google、TypeKit、fonts.com、fontdeck、またはページのロード後の背景に独自のサーバーからフォントをロードできます。ライブラリ自体は、ページに追加の17kbを追加しますが、バックグラウンドプロセスとしてもダウンロードされます。上記のubuntuフォントセットをロードするには、フォントと設定を定義するwebfontconfigというグローバルオブジェクトを作成し、webfontloader自体をロードします。

<code>@import url(http://fonts.googleapis.com/css?family=Ubuntu:300,300italic,400,400italic,500,500italic,700,700italic);</code>
したがって、

デバイスと帯域幅の容量に基づいて、一部またはすべてのフォントがロードされているかどうかを判断できます。理想的には、ネットワーク情報APIを使用できますが、ブラウザのサポートはまだ限られています。または、WebFontConfigのタイムアウト設定に注意してください。

cssコールバック関数

WebFontLoaderは、操作中にクラス名をHTML要素に適用します:

  • .wf-loading - すべてのフォントが要求されます
  • .wf-active - すべてのフォントが利用可能
  • .wf-inactive - フォントをロードできません

クラス名も各フォントに適用されます:

  • .wf-<familyname>-<fvd>-loading</fvd></familyname> - シングルフォントが要求されました
  • .wf-<familyname>-<fvd>-active</fvd></familyname> - 単一のフォント
  • で利用できます
  • .wf-<familyname>-<fvd>-inactive</fvd></familyname> - 単一のフォントをロードできません

ここで、<familyname></familyname>はフォント名の精製バージョンであり、<fvd></fvd>はi4が400厚の斜体を表すバリアントの説明です。これにより、フォントのダウンロード後にフォントを切り替えることができます。たとえば、Firefoxが行うのと同じように:

<code>body {
    font-family: Ubunutu, sans-serif;
    font-weight: 400;
}</code>

javaScriptコールバック関数

同様のJavaScriptコールバック関数は、WebFontConfigで定義できますが、これはめったに有用ではありません。

詳細については、webfontloaderドキュメントを参照してください。
var WebFontConfig = {
    google: {
        families: [ 'Ubuntu:400,300,400italic,300italic,500italic,500,700,700italic:latin' ]
    },
    timeout: 2000
};

(function(){
    var wf = document.createElement("script");
    wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
        '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
    wf.async = 'true';
    document.head.appendChild(wf);
})();

最小化

スタイル、厚さ、または間隔の点で代替フォントがWebフォントとは非常に異なる場合、スタイルのないテキストの点滅は厳しい場合があります。ただし、ほんの少しの実験では、代替フォント、厚さ、ラインの高さ、マージンを調整して、Webフォントをロードするときにページ要素がほぼ同じままであることを確認できます。フォントローダーの使用方法 "。

[スイッチフォント]ボタンをクリックして、フォントの切り替え効果を表示します。この変化は完全に解言されていないわけではありませんが、ユーザーが読み始めても、自分の場所を失わないことが重要です。任意のページに「スイッチフォント」ボタンを追加して、適切な代替スタイルを評価するのに役立ちます。

要するに、フォントの使用は無料かもしれませんが、ユーザーのコストを最小限に抑えるようにしてください。 1MBのフォントファイルをロードしている場合、慎重に作成されたレスポンシブWebデザインはモバイルデバイスには適していません!

/* 默认操作系统字体 */
body {
    font-family: arial, sans-serif;
}

/* 字体现在已加载 */
.wf-active body {
    font-family: 'Ubuntu';
}

(以下はFAQパーツであり、元のテキストに基づいて書き換えられ、統合されており、一部のコンテンツは合理化されています)

フォントローダーを使用してWebページのパフォーマンスを向上させることについてのよくある質問

フォントローダーとは何ですか?なぜページのパフォーマンスにとって重要なのですか?

Font Loaderは、ウェブサイトにWebフォントのロード方法を制御できるツールです。 Webサイトの読み込み時間を短縮するのに役立つため、ページのパフォーマンスにとって重要です。 Webページがロードされている場合、ブラウザはフォントを含むすべての必要なリソースをダウンロードする必要があります。フォントが大きい場合または大きい場合、これによりページの読み込み時間が遅くなります。フォントローダーを使用すると、これらのフォントのロード方法と方法を制御できます。これにより、ページのパフォーマンスが大幅に向上する可能性があります。

フォントローダーはどのようにページのパフォーマンスを改善しますか?

フォントローダーは、Webフォントの読み込みを制御できるようにすることでページのパフォーマンスを向上させます。フォントを非同期にロードすることを選択できます。つまり、ページの残りのレンダリングをブロックしません。これにより、ページがインタラクティブになるまでの時間を大幅に短縮できます。さらに、フォントローダーは、Webフォントがまだロードされている間にブラウザが代替フォントを表示する「Unstyled Text Flickering」(Fout)現象を防ぐのに役立ちます。

一般的に使用されるフォントローダーは何ですか?

GoogleのWebFont LoaderやTypeKitのWebFontローダーなど、一般的に使用されるいくつかのフォントローダーが利用可能です。どちらのツールも、Webフォントのロード方法を制御するための複数のオプションを提供します。また、Webサイトにフォントロードを簡単に実装できるWordPressプラグイン(Developly Googleフォントなど)もあります。

私のウェブサイトにフォントローダーを実装する方法は?

ウェブサイトにフォントローダーを実装するには、通常、HTMLにスクリプトを追加する必要があります。このスクリプトはフォントローダーをロードし、フォントローダーのAPIを使用してWebフォントのロード方法を制御できます。正確なプロセスは、使用しているフォントローダーによって異なる場合があるため、特定の命令についてはドキュメントを参照することをお勧めします。

フォントローダーを任意のWebフォントで使用できますか?

フォントがフォントローダーがロードできるようにホストされている限り、

ほとんどのフォントローダーは、任意のWebフォントと互換性があります。これには、GoogleフォントやTypeKitなどのフォントサービスがホストする自己ホストのフォントとフォントが含まれます。

フォントローダーを使用すると、フォントの外観に影響しますか?

フォントローダーを使用すると、フォントの外観に影響を与える可能性があります。ただし、フォントの実際のデザインやスタイルを変更しないでください。フォントローダーを実装した後にフォントの外観に変更があることに気付いた場合、構成の問題が原因である可能性があります。

「Unstyled Text Flashing」(FOUT)とは何ですか?フォントローダーはどのようにそれを防止しますか?

FOUTは、Webフォントがまだロードされているときにブラウザに代替フォントを表示する現象です。これにより、最終的なフォントとは異なるフォントを使用して、短いテキストがちらつき、ユーザーが不快に感じることがあります。フォントローダーは、テキストにWebフォントを適用するときに制御できるようにすることにより、FOUTを防ぎます。たとえば、Webフォントがロードされるまでテキストを非表示にするか、Alternate Fontにテキストを表示して、Webフォントがロードされた後に置き換えることができます。

フォントローダーは私のウェブサイトのSEOを改善できますか?

はい、フォントローダーは、ページの読み込み時間を短縮することにより、ウェブサイトのSEOを改善できます。ページの読み込み時間は、検索エンジンがWebサイトをランキングするときに考慮する要因であるため、SEOを改善する可能性のあるものを減らすために何でもできます。

フォントローダーを使用することの欠点はありますか?

フォントローダーを使用することの潜在的な欠点の1つは、Webサイトコードの複雑さを高める可能性があることです。ただし、ページのパフォーマンスとユーザーエクスペリエンスの改善の利点は、しばしばこの不利な点を上回ります。さらに、多くのフォントローダーには優れたドキュメントとサポートがあり、比較的簡単に実装できます。

フォントローダーが私のページのパフォーマンスを改善しているかどうかを判断する方法は?

さまざまなツールを使用して、フォントローダーを実装する前後にページのパフォーマンスを測定できます。これらのツールは、ページの読み込み時間、最初のドロータイム、インタラクティブな時間などのメトリックを提供できます。これにより、フォントローダーの影響を定量化できます。一般的に使用されるパフォーマンス測定ツールには、GoogleのLighthouseとWebPagetestが含まれます。

以上がフォントローダーでページのパフォーマンスを改善する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
PythonとJavaScript:それぞれの強みを理解するPythonとJavaScript:それぞれの強みを理解するMay 06, 2025 am 12:15 AM

PythonとJavaScriptにはそれぞれ独自の利点があり、選択はプロジェクトのニーズと個人的な好みに依存します。 1. Pythonは、データサイエンスやバックエンド開発に適した簡潔な構文を備えた学習が簡単ですが、実行速度が遅くなっています。 2。JavaScriptはフロントエンド開発のいたるところにあり、強力な非同期プログラミング機能を備えています。 node.jsはフルスタックの開発に適していますが、構文は複雑でエラーが発生しやすい場合があります。

JavaScriptのコア:CまたはCの上に構築されていますか?JavaScriptのコア:CまたはCの上に構築されていますか?May 05, 2025 am 12:07 AM

javascriptisnotbuiltoncorc;それは、解釈されていることを解釈しました。

JavaScriptアプリケーション:フロントエンドからバックエンドまでJavaScriptアプリケーション:フロントエンドからバックエンドまでMay 04, 2025 am 12:12 AM

JavaScriptは、フロントエンドおよびバックエンド開発に使用できます。フロントエンドは、DOM操作を介してユーザーエクスペリエンスを強化し、バックエンドはnode.jsを介してサーバータスクを処理することを処理します。 1.フロントエンドの例:Webページテキストのコンテンツを変更します。 2。バックエンドの例:node.jsサーバーを作成します。

Python vs. Javascript:どの言語を学ぶべきですか?Python vs. Javascript:どの言語を学ぶべきですか?May 03, 2025 am 12:10 AM

PythonまたはJavaScriptの選択は、キャリア開発、学習曲線、エコシステムに基づいている必要があります。1)キャリア開発:Pythonはデータサイエンスとバックエンド開発に適していますが、JavaScriptはフロントエンドおよびフルスタック開発に適しています。 2)学習曲線:Python構文は簡潔で初心者に適しています。 JavaScriptの構文は柔軟です。 3)エコシステム:Pythonには豊富な科学コンピューティングライブラリがあり、JavaScriptには強力なフロントエンドフレームワークがあります。

JavaScriptフレームワーク:最新のWeb開発のパワーJavaScriptフレームワーク:最新のWeb開発のパワーMay 02, 2025 am 12:04 AM

JavaScriptフレームワークのパワーは、開発を簡素化し、ユーザーエクスペリエンスとアプリケーションのパフォーマンスを向上させることにあります。フレームワークを選択するときは、次のことを検討してください。1。プロジェクトのサイズと複雑さ、2。チームエクスペリエンス、3。エコシステムとコミュニティサポート。

JavaScript、C、およびブラウザの関係JavaScript、C、およびブラウザの関係May 01, 2025 am 12:06 AM

はじめに私はあなたがそれを奇妙に思うかもしれないことを知っています、JavaScript、C、およびブラウザは正確に何をしなければなりませんか?彼らは無関係であるように見えますが、実際、彼らは現代のウェブ開発において非常に重要な役割を果たしています。今日は、これら3つの間の密接なつながりについて説明します。この記事を通して、JavaScriptがブラウザでどのように実行されるか、ブラウザエンジンでのCの役割、およびそれらが協力してWebページのレンダリングと相互作用を駆動する方法を学びます。私たちは皆、JavaScriptとブラウザの関係を知っています。 JavaScriptは、フロントエンド開発のコア言語です。ブラウザで直接実行され、Webページが鮮明で興味深いものになります。なぜJavascrを疑問に思ったことがありますか

node.jsは、型を使用してストリーミングしますnode.jsは、型を使用してストリーミングしますApr 30, 2025 am 08:22 AM

node.jsは、主にストリームのおかげで、効率的なI/Oで優れています。 ストリームはデータを段階的に処理し、メモリの過負荷を回避します。大きなファイル、ネットワークタスク、リアルタイムアプリケーションの場合。ストリームとTypeScriptのタイプの安全性を組み合わせることで、パワーが作成されます

Python vs. JavaScript:パフォーマンスと効率の考慮事項Python vs. JavaScript:パフォーマンスと効率の考慮事項Apr 30, 2025 am 12:08 AM

PythonとJavaScriptのパフォーマンスと効率の違いは、主に以下に反映されています。1)解釈された言語として、Pythonはゆっくりと実行されますが、開発効率が高く、迅速なプロトタイプ開発に適しています。 2)JavaScriptはブラウザ内の単一のスレッドに限定されていますが、マルチスレッドおよび非同期I/Oを使用してnode.jsのパフォーマンスを改善でき、両方とも実際のプロジェクトで利点があります。

See all articles

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover

AI Clothes Remover

写真から衣服を削除するオンライン AI ツール。

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

Video Face Swap

Video Face Swap

完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

ホットツール

WebStorm Mac版

WebStorm Mac版

便利なJavaScript開発ツール

SublimeText3 英語版

SublimeText3 英語版

推奨: Win バージョン、コードプロンプトをサポート!

SublimeText3 Mac版

SublimeText3 Mac版

神レベルのコード編集ソフト(SublimeText3)

PhpStorm Mac バージョン

PhpStorm Mac バージョン

最新(2018.2.1)のプロフェッショナル向けPHP統合開発ツール

Safe Exam Browser

Safe Exam Browser

Safe Exam Browser は、オンライン試験を安全に受験するための安全なブラウザ環境です。このソフトウェアは、あらゆるコンピュータを安全なワークステーションに変えます。あらゆるユーティリティへのアクセスを制御し、学生が無許可のリソースを使用するのを防ぎます。