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

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

数日前、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はクロスドメインの問題を解決し、サードパーティのページを埋め込む

推薦する

jQueryはシンプルなポップアップウィンドウ効果を実装します

この記事では、簡単なポップアップウィンドウ効果を実現するためのjQueryの具体的なコードを参考まで...

ブラウザの自動フォーム入力によるウェブページのスタイル損失の原因の分析と解決

バックエンドからフロントエンドまで、なんと悲劇なのでしょう。他の人の CSS を自分の jsp We...

CSSでイメージマッピングを実装する方法

1. はじめにイメージマップを使用すると、画像の領域をホットスポットとして指定できます。この領域にマ...

W3Cチュートリアル(1):W3Cを理解する

1994 年に設立された組織である W3C は、共通プロトコルの開発を促進し、それらの相互運用性を確...

CentOS に MySQL 8.0 をインストールして設定するための詳細な手順

序文CentOS に MySQL をインストールして設定する手順は次のとおりです。文章yumソースか...

Linux で Tomcat を実行するいくつかの方法の説明

Linux での Tomcat の起動とシャットダウンLinux システムでは、コマンド操作を使用し...

フロントエンドアプリケーションのjenkins+gitlab+nginxデプロイメント

目次関連する依存関係のインストールドッカーDockerでJenkinsをインストールするDocker...

MySQL 5.7.17 圧縮パッケージのインストールと設定方法のグラフィックチュートリアル

インターネット上にはMySQL 5.7.17のインストールチュートリアルがほとんどなく不十分なので、...

相同性とクロスドメイン、jsonp(関数カプセル化)、CORS原則の詳細な分析

目次同一起源ポリシーAjax リクエストの制限: Ajaxは自身のサーバーにのみリクエストを送信でき...

MySQL でタイムゾーンを表示および変更する方法

今日、プログラムが間違った時刻を挿入し、フィールドがデフォルト値 CURRENT_TIMESTAMP...

Linux における「!」の知られざる使用法のまとめ

序文実際、Linux では、控えめな「!」が驚くほど多くの用途で使用されています。この記事では、「!...

OpenSSL を使用した Kubernetes 証明書の生成の概要

Kubernetes は、基本認証、トークン認証、CA 認証の 3 種類の認証をサポートしています。...

プロセスごとにネットワーク帯域幅を監視する Linux ツール Nethogs のインストールと展開

概要Linux 用のオープン ソース ネットワーク監視ツールは数多くあります。たとえば、帯域幅の使用...

WeChatアプレットでvantフレームワークを使用するための具体的な手順

目次1. アプレットのプロジェクト ディレクトリを開き、ファイルの場所を開きます。 2. プロジェク...

Linux システム (Centos6.5 以上) のインストール JDK チュートリアル分析

記事の構成1. 準備2. Java JDK8.0をインストールする3. 環境変数を設定する3. イン...