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

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

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

推薦する

CSS3 背景コントロールプロパティと色遷移を使用してグラデーション効果を実現します。

CSS3 背景画像関連互換性: IE9+背景クリップ 背景画像描画領域background-cli...

CSS を使用して、画像に 3D の凸型と凹型のエフェクト (フレーム外に凸型、またはフレーム内に凹型) を実現します。

Ⅰ. 問題の説明: CSS を使用して画像の 3D 凸凹効果を実現します。 Ⅱ実施手順は以下のとお...

Windows10システムにMySQL 5.7.17をインストールする

オペレーティング システム win10 MySQL は、公式 Web サイトからダウンロードした 6...

html2canvas で破線境界線を実装する例

html2canvas は、HTML 要素からキャンバスを生成するライブラリです。描画されるキャンバ...

dockerコンテナにvimをインストールするソリューション

目次物語の始まりvimをインストールし、hadoop-hive.envを編集します。不注意で回避しま...

CSS スタッキングと Z インデックスのサンプルコード

カスケードとカスケードレベルHTML 要素は 3 次元の概念です。水平方向と垂直方向に加えて、「Z ...

MySQL でサーバーのインストールを開始できない場合の解決策について簡単に説明します。

コンピュータに初めて MySQL をインストールする場合、通常このエラー メッセージは表示されません...

VueはOSSを使用して画像や添付ファイルをアップロードします

OSS を使用して Vue プロジェクトに画像や添付ファイルをアップロードするここでは、写真のアップ...

Windows 10 インストール vmware14 チュートリアル図

ソフトウェアのダウンロードソフトウェアのダウンロード リンク: https://pan.baidu....

DockerでHadoopを実行しイメージを作成する方法

車輪の再発明として、ここでは再パッケージ化を使用して Docker ベースの Hadoop イメージ...

vue.jsは画像のURLに従って画像をダウンロードします

最近、フロントエンドの vue.js ドッキング機能モジュールに取り組んでいたとき、画像をダウンロー...

Docker 経由で wsl の tar ファイルを作成する方法

最近VScodeのリモート開発機能をいじっています。Dockerのコンテナに接続できるほか、WSLに...

CocosCreatorの共通知識ポイントを整理する

目次1. シーンの読み込み2. ノードを見つける1. ノード検索2. その他のノード操作3. 再生ア...

MySQL 8.0 ウィンドウ関数の紹介と概要

序文MySQL 8.0 より前は、Oracle、SQL SERVER、PostgreSQL などの他...