favicon.ico についていくつか注意点があります (ルートディレクトリに置くのがベストです)

favicon.ico についていくつか注意点があります (ルートディレクトリに置くのがベストです)

任意のウェブページを開きます。例: http://www.baidu.com/

image

ブラウザのタブのヘッダーにアイコンが表示されているのがわかります。このアイコンは次のとおりです。 imageこれはよく favicon.ico と呼ばれます。

この記事では主に favicon.ico と、各ブラウザーがそれを処理するさまざまな方法について説明しているため、次のように新しい Web プロジェクトを作成します。

image

image

image

image

home.html のコードは次のとおりです。
XML/HTML コードコンテンツをクリップボードにコピー
  1. <!DOCTYPE html >   
  2. < html   xmlns = "http://www.w3.org/1999/xhtml" >   
  3. <ヘッド>   
  4.      <タイトル>ホームページ</タイトル>   
  5.      <リンク  rel = "アイコン"   href = "Images/wangyi.ico"  タイプ= "image/x-icon"   />   
  6.      <リンク  rel = "ショートカットアイコン"   href = "Images/wangyi.ico"  タイプ= "image/x-icon"   />   
  7. </ヘッド>   
  8. <本文>   
  9. ホームページ
  10. </本文>   
  11. </html>   

ファイアフォックス: image

つまり9: image

残念ながら、一般ユーザーのほとんどは、360ブラウザ、Sogouブラウザ、QQブラウザなどを使用しています。

Sogouブラウザ: image

ウェブサイトのルートディレクトリにある favicon.ico が有効になっていることがわかり、ウェブサイトのルートディレクトリにある favicon.ico アイコンが表示されます。

360 ブラウザを開きます: image

不思議ですね、Google アイコンはどこから来たのでしょうか? 。 。 。 ? ? ?

faviconTestWeb にはアイコンが 3 つしかなく、そのうちの 1 つは wangyi.ico.baidu.ico.favicon.ico (cnblogs のアイコン) です。

360 に Google アイコンが表示されるのはなぜですか?

実際、360ブラウザがWebを閲覧する場合、ポートは無視されます。つまり、http://localhost:3529/home.htmlです。

Firefox はリンクの href に対応するアイコンを要求します。

Sogou Browser 等: リクエストは http://localhost:3529/favicon.ico です。

360ブラウザなど: リクエストはhttp://localhost/favicon.icoです。

つまり、http://host/home.html、http://host:333/home.html、または http://host/test/home.html のいずれをリクエストしても同じです。

http://host/favicon.ico を要求します。

証拠は、360se インストール ディレクトリを開くことです。

image

したがって、Web サイトの favicon.ico が機能しない場合、または favicon.ico の互換性を高めたい場合は、次の手順に従います。

1: ウェブサイトのルート ディレクトリにある favicon.ico を確認します。つまり、http://host/some/favicon.ico ではなく、http://host/favicon.ico です。

2: <link rel="icon" href="http://host/favicon.ico" type="image/x-icon" /> を確認してください。

<link rel="ショートカットアイコン" href="http://host/favicon.ico" type="image/x-icon" />

http://host/favicon.ico を使用する

3: ウェブサイトにポートがある場合、またはテスト バージョンである場合は、favicon.ico を要求するときにポート番号を無視する 360 などのブラウザーに特に注意してください。

<<:  Ubuntu 18.04.4 に MySQL をインストールするプロセスの詳細な説明

>>:  MySQL データベース ターミナル - 一般的な操作コマンド コード

推薦する

Nginx フォワードプロキシとリバースプロキシの違いと原理分析

1. フォワードプロキシとリバースプロキシの違いフォワード プロキシはクライアントのプロキシとして機...

バインドを使用してDNSサーバーを設定する方法

DNS(ドメインネームサーバー)は、ドメイン名とそれに対応する IP アドレスを変換するサーバーです...

Docker マイクロサービス用の ETCD クラスターの構築に関する詳細なチュートリアル

目次etcdの機能etcdが独自の高可用性クラスタを構築するには、主に3つの形式があります。今回構築...

Docker クリーニングキラー/Docker オーバーレイ ファイルがディスク領域を大量に占有する

[インターネット上の移行ファイルをすべて見ると、信頼性が低く、症状のみを治療し、根本的な原因を治療し...

Alibaba Cloud OSS アクセス権設定(RAM 権限制御)実装

シナリオmyBuket の static/material/ ディレクトリなど、Alibaba Cl...

Tomcat で静的リソースを処理するチュートリアル

序文Tomcat 内のすべてのリクエストは Servlet によって処理され、静的リソースも例外では...

JS 内の Json 文字列 + Cookie + ローカルストレージ

目次1.Json文字列1.1Json構文1.2 例2. クッキー2.1 使い方は? 3. ローカルス...

Webデザインチュートリアル(3):デザインの手順と考え方

<br />前のチュートリアル:Webデザインチュートリアル(2):模倣と盗作について。...

ElementuiはデータをxlsxとExcelテーブルにエクスポートします

最近、Vue プロジェクトについて知り、ElementUI でデータを xlsx および Excel...

MySQL curdate() 関数の詳細な例

MySQL CURDATE関数の紹介文字列コンテキストまたは数値コンテキストの YYYMMDD 形式...

MySQL 8.0.12 の詳細なインストールおよびアンインストール チュートリアル

1. MySQL 8.0.12 バージョンのインストール手順。 1. ダウンロードhttps://d...

docker ログ - docker コンテナ ログの実装を表示します

docker logs コマンドを使用してコンテナ ログを表示できます。コマンド形式: $ dock...

JavaScript で配列の最大値と最小値を実装する 6 つの方法

配列[1,8,5,4,3,9,2]が与えられた場合、配列の最大値9と最小値1を取得するアルゴリズムを...

要素 UI に基づいてクエリ コンポーネントを段階的にカプセル化する方法

目次関数基本的なクエリ関数クエリ条件の初期化ページのレンダリングクエリと表示の最適化をさらに強化プル...

Nginx でアンチホットリンクを設定するための手順を完了する

必要:通常、サイト側は、ウェブサイト上の動画や写真が盗まれるのを防ぎたいと考えています。結局のところ...