JavaScript と CSS を最適化してウェブサイトのパフォーマンスを向上させる

JavaScript と CSS を最適化してウェブサイトのパフォーマンスを向上させる
<br /> 第 1 部と第 2 部では、Web サイトのパフォーマンス、ページ コンテンツ、サーバーを改善するためのいくつかのルールを紹介しました。さらに、JavaScript と CSS もページで頻繁に使用されます。これらを最適化することも、Web サイトのパフォーマンスを向上させる重要な側面です。
CS: ...
    スタイルシートを先頭に配置する CSS式の使用を避ける 外部JavaScriptとCSSを使用する JavaScriptとCSSを減らす @importの代わりに<link>を使用する フィルターの使用を避ける

JavaScript
    スクリプトをページの下部に配置する 外部のJavaScriptとCSSを使用する JavaScriptとCSSを削減する 重複するスクリプトを削除する DOMアクセスを減らす スマートなイベントハンドラーを開発する
17. スタイルシートを先頭に配置する Yahoo! のパフォーマンスを調査したところ、ドキュメントの <head /> 内にスタイルシートを配置するとページのダウンロードが高速化されることがわかりました。これは、スタイルシートを <head /> に配置すると、ページが段階的に読み込まれて表示されるようになるためです。
パフォーマンス重視のフロントエンド サーバーでは、多くの場合、ページが順番に読み込まれることが求められます。同時に、受信したコンテンツをブラウザが可能な限り表示してくれることも期待しています。これは、コンテンツが多いページや接続速度が遅いユーザーにとって特に重要です。進捗状況ポインターなどの視覚的なフィードバックをユーザーに返すことは、十分に研究され、文書化されています。私たちの研究では、HTML ページがプロセス ポインターです。ブラウザがファイル ヘッダー、ナビゲーション バー、トップ ロゴなどを順番に読み込むと、ページの読み込みを待っているユーザーへの視覚的なフィードバックとして機能します。これにより、全体的なユーザー エクスペリエンスが向上します。 Web ページ作成チュートリアル チャンネルのコンテンツを表示するには、ここをクリックしてください。スタイル シートをドキュメントの下部に配置すると、Internet Explorer を含む多くのブラウザーでコンテンツの整然としたレンダリングが停止するという問題があります。ブラウザは、スタイルの変更によってページ要素が再描画されるのを避けるためにレンダリングを一時停止します。ユーザーは空白のページに直面します。
HTML 仕様では、スタイル シートはページの <head /> セクションに配置する必要があることが明確に規定されています。「<a /> とは異なり、<link /> はドキュメントの <head /> セクションにのみ表示できますが、複数回使用できます。」白い画面が表示されたり、スタイルが設定されていないコンテンツが表示されたりするので、試してみる価値はありません。最善の解決策は、HTML 仕様に従ってドキュメントの <head /> にスタイルシートを読み込むことです。 CSS 式は、CSS プロパティを動的に設定する強力な (ただし危険な) 方法です。 Internet Explorer はバージョン 5 以降で CSS 式をサポートしています。次の例では、CSS式を使用して背景色を1時間ごとに切り替えることができます。18. CSS式の使用を避ける

背景色: 式( (new Date()).getHours()%2 ? "#B8D4FF" : "#F08A00" );
上記のように、式では JavaScript 式が使用されています。 CSS プロパティは、JavaScript 式の評価結果に基づいて設定されます。この表現方法は他のブラウザでは機能しないため、クロスブラウザ設計では Internet Explorer 専用に設定する方が便利です。
式の問題は、私たちが考えるよりも頻繁に評価されることです。ページを表示してズームするときだけでなく、ページをスクロールしたり、マウスを動かしたりしたときにも再計算する必要があります。 CSS 式にカウンターを追加すると、式が評価される頻度を追跡できます。ページ上でマウスを動かすだけで、簡単に 10,000 を超える計算を実行できます。
CSS 式の計算回数を減らす 1 つの方法は、初めて実行するときに結果を指定されたスタイル プロパティに割り当て、CSS 式の代わりにこのプロパティを使用する 1 回限りの式を使用することです。ページのライフサイクル中にスタイル プロパティを動的に変更する必要がある場合は、CSS 式の代わりにイベント ハンドラーを使用するのが有効な方法です。 CSS 式を使用する必要がある場合は、何千回も評価され、ページのパフォーマンスに影響を与える可能性があることに留意してください。
前のページ1 2 3 次のページ 続きを読む

<<:  IDEA2021 tomcat10 サーブレットの新しいバージョンの落とし穴

>>:  MySQL InnoDB ReplicaSet の簡単な紹介

推薦する

CSS+SVGでBステーションの課金効果を実現するサンプルコード

困難SVG グラフィックの 2 つのマスクの作成まず、コード左側のピンク色のボックスの内容ですこれに...

Dockerイメージを完全にアンインストールする手順

1. docker ps -a 実行中のイメージプロセスを表示する [root@mylinux~]#...

Alibaba Cloud Server Ubuntu 設定チュートリアル

Alibaba Cloud のカスタム Ubuntu イメージのインポートには、OSS スナップショ...

Navicat for MySQL 15 登録とアクティベーションの詳細なチュートリアル

1. Navicat for MySQL 15をダウンロードするhttps://www.navica...

Prometheusコンテナのデプロイメントのための実用的なソリューション

環境ホスト名IPアドレス仕えるプロメテウス192.168.237.137プロメテウス、グラファナノー...

ウェブデザイン研究における XHTML の応用の概要

<br />一般的に、「標準的な Web ページ」のファイル構成は XHTML CSS ...

HTML 固定タイトル列、タイトル ヘッダー テーブル固有の実装コード

コードをコピーコードは次のとおりです。 <!DOCTYPE html PUBLIC "...

MySQLデータベースが予期せずクラッシュし、テーブルデータファイルが破損して起動できなくなる問題を解決します。

問題: MySQL データベースが予期せずクラッシュしたため、データベースを起動できませんでした。エ...

MySQL 5.7 クラスタ構成手順

目次1. サーバーAのmy.cnfファイルを変更する2. サーバーBのmy.cnfファイルを変更する...

VMware Workstation のインストール Linux (Ubuntu) システム

システムをコンピューターにインストールする方法がわからない場合は、Linux を学習したい場合は、仮...

VMware Workstation 14 Pro インストール Ubuntu 16.04 チュートリアル

この記事では、VMware Workstation14 ProにUbuntu 16.04をインストー...

テキストまたはJSONを返すようにnginxを設定する方法

特定のインターフェースをリクエストするときに、指定されたテキスト文字列または JSON 文字列を返す...

MySQL 最適化戦略 (推奨)

要約すれば: 1. データベースの設計とテーブルの作成時にパフォーマンスを考慮する2. SQLの記述...

nginx は画像表示の遅さとダウンロードの不完全さの問題を解決します

前面に書かれた最近、ある読者から、ブラウザからサーバーにアクセスすると、画像の表示が遅く、ブラウザに...