空のパスがページのパフォーマンスに与える影響に対する解決策

空のパスがページのパフォーマンスに与える影響に対する解決策

数日前、Google Reader で Yu Bo さんが共有した投稿「空のパスがページのパフォーマンスに与える影響」を見ました。実際、CSS を記述するときに background:url(#) を使用すると、ページへの追加のリクエストが行われます。

空のパスがページのパフォーマンスに与える影響に対する解決策

ただし、CSS を大量に記述するため、通常はバグを解決するために空の背景を使用する必要があります。テスト結果から、background:url(about:blank) を使用することが、パフォーマンスに影響を与えずにバグを解決するのに望ましい方法であることがわかります。それは簡単です、解決策はないのでしょうか?ちょっと待って、テストをしてみましょう。
テストコード:

コードをコピー
コードは次のとおりです。

<!DOCTYPE html>
<html lang="">
<ヘッド>
<メタ文字セット="utf-8" />
<title>空のソース</title>
<style>body{font-family:courier, 'courier new';}code{background:#f7f7f7;border:1px solid #ddd;padding:0 3px;-moz-border-radius:2px;-webkit-border-radius:2px;border-radius:2px;font-size:12px;color:#080;}p{font-size:12px;color:#999;}cite{font-size:14px;color:#c30;}</style>
</head>
<本文>
<h3>1. リクエストを送信します:</h3>
<p>ブラウザ: <code>すべて</code>、<code>Chrome</code> などの一部のブラウザ、<code>hash(#)</code> および空の場合のみ、このパスが要求されます</p>
<オル>
<li><img src="" alt="空の画像 src"/></li>
<li><div style="background:url(#background)">背景画像は <code>background:url(#)</code> を使用し、リクエストも送信します</div></li>
<li><img src="#image" alt="ハッシュ(#)を使用した画像src"></li>
<li><img src="http://www.apple.com/favicon.ico" /></li>
</ol>
<h3>2. 部分送信リクエスト:</h3>
<p>ブラウザ (非常に小さな遅延): <code>Safari</code>、<code>Chrome (about:blank が複数あると複数のリクエストが送信されます)</code></p>
<cite><code>about:blank</code> を使用します</cite>
<オル>
<li><img src="about:blank" alt="空の画像 src"/></li>
<li><div style="background:url(about:blank)">こんにちは世界</div></li>
<li><code>&lt;iframe /&gt;</code><iframe src="javascript:''" frameborder="0" height="15"></iframe></li>
</ol>
<h3>2. リクエストを送信しないでください:</h3>
<p>ブラウザ: <code>すべて</code>、<code>chrome (遅延は無効、リクエストを送信しないのと同じ)</code></p>
<cite><code>javascript:''</code> を使用してください</cite>
<オル>
<li><img src="javascript:''" alt="空の画像 src"/></li>
<li><code>&lt;script /&gt;</code> <script type="text/javascript" src="javascript:''"></script></li>
<li><code>&lt;iframe /&gt;</code><iframe src="javascript:''" frameborder="0" height="15"></iframe></li>
</ol>
</本文>
</html>

スクリーンショットを撮るのが面倒なので、自分で試してみてください。テストページに閲覧結果が大まかに書かれています。最終的な解決策は次のとおりです。

特に背景画像では、空白や「#」の代わりに about:blank を自由に使用してください。img/script/iframe では、問題を解決するために javascript:" を使用することをお勧めします。他に良い方法はありますか? このテスト結果に問題はありますか? 遠慮なく提供して修正してください。ありがとうございます。

<<:  MySQL シリーズ 14 MySQL 高可用性実装

>>:  Nginxはクロスドメインの問題を解決し、サードパーティのページを埋め込む

推薦する

mysql ダーティ ページとは何ですか?

目次ダーティページ(メモリページ)ダーティページが表示されるのはなぜですか?メモリ管理メカニズムの簡...

iptables の再起動後に Docker の iptables ルールの完全なプロセスが失われる

原因と結果1. ansibleコマンドを使用してジャンプサーバー上のマシンBをテストすると、次のエラ...

MySQLでルートユーザーのパスワードを変更する方法

方法1: SET PASSWORDコマンドを使用する mysql> username@loca...

MySQL 8.0.22 のインストールと設定方法のグラフィックチュートリアル

この記事ではMySQL 8.0.22のインストールと設定について記録します。具体的な内容は以下のとお...

リアルタイムクロックを実装するネイティブJS

ネイティブ JS で実装したリアルタイム クロック エフェクトを共有します。エフェクトは以下のとおり...

XHTML と CSS の Web ページ作成の問題に対する解決策

XHTML CSS ページ制作中に遭遇する問題の解決策は、解決策と呼ぶには少々大げさです。せいぜい、...

vue プロジェクトのデプロイと Nginx でのプロキシ設定の問題の分析

1. nginxをインストールして起動する # nginxをインストールする sudo apt-ge...

MySQL 完全崩壊: クエリフィルタ条件の詳細な説明

概要実際のビジネス シナリオ アプリケーションでは、ビジネス条件に基づいて対象データを取得およびフィ...

CSS3で背景画像にカラーマスクを追加する方法

以前、開発中に背景レイヤーにカラーマスクを追加する必要のあるプロジェクトに遭遇しました。ここでは、背...

Dockerを使用してJenkinsをインストールする方法

目次1. イメージをプルする2. ローカルデータボリュームを作成する3. コンテナを作成する4. J...

Nginx Rewriteモジュールを使用するいくつかのシナリオ

アプリケーションシナリオ1: ドメイン名ベースのリダイレクト会社の古いドメイン名は www.accp...

LinuxサーバーにVueプロジェクトをデプロイする

ケース1 vue-cliはvue3プロジェクトをビルドし、プロジェクトをLinuxサーバーにアップロ...

Docker ベースの MySQL マスタースレーブ レプリケーションを実装する方法

序文MySQL マスター/スレーブ レプリケーションは、アプリケーションの高パフォーマンスと高可用性...

実用的な MySQL + PostgreSQL バッチ挿入更新 insertOrUpdate

目次1. 百度百科事典1. MySQL 2. PostgreSQL 3. MySQL に対する Po...

MySQLのexplain型の詳細な説明

導入:多くの場合、さまざまな選択ステートメントを使用して必要なデータを照会した後、多くの人は作業が正...