IE および現在のブラウザのタイトル バーは、本来は <title> HTML タグによって制御されるべきであり、もちろん今でも制御されています。ただ、現在のゴーストトレンドでは、Web ページをもう更新しないほうがよい、そうすればユーザーからのあらゆる荒らしを受け入れる必要があるというだけです。これは、跡形もなく人々を殺害する伝説の逆説的な Ajax テクノロジーです。
ブラウザのタイトル バーに適切なページ タイトルを表示することは、Web ページのプロフェッショナルな表現であり、検索エンジンにとっても親切です。もちろん、適切な即時情報を掲載することも非常に有意義です。では、タイトルのコンテンツを「動的に」カスタマイズするにはどうすればよいでしょうか?
ASP を使用してブラウザのタイトルを動的に変更できることはわかっています。これはおそらく次のようなステートメントです。
<title><% = GenerateTitle %></title>
ASP.NET 1.1 では、上記のメソッドを引き続き使用することに加えて、 「美しい」見た目の方法がもう 1 つあります:
aspx ページ:
<title id="cltTitle" runat="server"></title>
CS ファイル内:
protected HtmlGeneralControl cltTitle;
。
cltTitle.innerHtml = "birdshome のホームページ";
現在
は ASP.NET 2.0 の時代で、上記の 2 つの方法に加えて、<title> コンテンツをより簡単に変更することもできます
。上記の「動的」 <title> の内容はサーバー側で変更されます。実際、ブラウザの場合、<title> タグ内の内容は完全に固定されています。要点に戻って、クライアント上の IE ブラウザのタイトル バーの制御について詳しく説明します。IE
ウィンドウ内のページの場合、ページ DOM オブジェクトでは、 document.title 属性を使用して、 <title> 要素を取得および設定します。 IE ウィンドウのタイトル バーの内容。次の例を考えてみましょう:
<html>
<本文>
<!-- ページコンテンツ -->
<スクリプト言語="javascript">
document.body.onload = function()
{
document.title = "birdshome のホームページ";
};
</script>
</body>
</html>
はい、通常の IE ウィンドウのタイトル バーを設定するのはとても簡単です。それで、何と言えばいいでしょうか?このとき、全く同じコードをモーダルウィンドウに入れて実行したらどうなるでしょうか?モーダルウィンドウのタイトルバーは変更されますか?実験の結果は、まったく同じコードがモーダル ウィンドウで失敗するというイライラするものでした。モーダルウィンドウが提供するDOMは通常のウィンドウとは異なりますか?実際、モーダル ウィンドウの DOM は通常のウィンドウの DOM と同じですが、違いは、モーダル ウィンドウ内のページが読み込まれた後、document.title 属性が実際に無効になることです。これが、上記のコード例の onload イベント内のステートメントが効果がない理由です。この制限を解決する方法は非常に簡単で、ページが読み込まれる前に document.title を変更することです。したがって、モーダル ウィンドウの IE タイトル バーを変更するには、次のコードを使用する必要があります:
<html>
<本文>
<!-- ページコンテンツ -->
<スクリプト言語="javascript">
document.title = "birdshome のホームページ";
</script>
</body>
</html>
以下は、ブラウザのタイトル バーを変更する上記の 2 つの方法を含む例です。これを IE で開くと、違いが直感的にわかります
。
<本文>
<ボタンオンクリック="foo()">
開く</ボタン>
<スクリプト言語="javascript">
document.body.onload = function()
{
document.title = "birdshome のホームページ (リライト)" + unescape(H_A0);
document.title
= "birdshome のホームページ (最初)" + unescape(H_A0)
;
{
window.showModalDialog("abc.htm");
}
</script>
</body>
</html>
その結果、通常の IE ウィンドウのタイトル バーはすぐに「birdshome のホームページ (最初)」から「birdshome のホームページ (書き換え)」に変わりますが、[開く] ボタンを使用して開かれたモーダル ダイアログ ボックスのタイトルは変わります。は常に「birdshomeのホームページ(最初)」になります。この例から、通常の IE ウィンドウの場合、そのタイトル バーはページの存続期間中いつでも変更できることがわかります。モーダル ウィンドウのタイトル バーに関しては、ページが読み込まれる前 (onload イベントがトリガーされる前) にのみ変更できます。 showModelessDialog によって開かれる非モーダル ダイアログ ボックスは、モーダル ダイアログ ボックスとまったく同じようにタイトル バーを処理します。
最後に、document.title を使用するテクニックについて説明します。ページ タイトルがサーバー側で「動的に」変更される場合、<title></title> タグの間に連続スペースを生成できることがわかります。タイトルバーにエフェクトを入力します。このテクニックはモーダル ウィンドウで特に便利で、厄介な「-Web ページ ダイアログ」テキストを連続したスペースでタイトル バーの外に押し出すことができます。 document.title 属性を使用してページのタイトル バーを変更すると、通常のウィンドウでもモーダル ウィンドウでも、前者はタイトル バーに直接表示されます。文字列、後者はどれだけ追加しても、幅の効果は " " (スペース) 1 つだけです。ここでは、この問題を解決するために別の空間であるエンティティを使用する必要があります。コードは次のとおりです:
<html>
<本文>
<スクリプト言語="javascript">
var HexA0s = "%A0 %A0 %A0 %A0";
document.body.onload = function()
{
document.title = "birdshome のホームページ (リライト)" + unescape(HexA0s);
};
</script>
</body>
</html>
http://birdshome.cnblogs.com/archive/2006/06/23/control_browser_title.html