Bilah judul IE dan browser apa pun saat ini seharusnya dikontrol oleh tag HTML <title>, dan tentu saja masih demikian. Hanya saja tren hantu saat ini adalah sebaiknya Anda tidak menyegarkan halaman web Anda lagi, dan kemudian Anda harus menerima kerusakan apa pun dari pengguna. Inilah teknologi paradoks Ajax legendaris yang membunuh orang tanpa jejak!
Menampilkan judul halaman yang sesuai di title bar browser merupakan ekspresi profesional dari sebuah halaman web dan juga ramah terhadap mesin pencari. Tentu saja, akan sangat berarti jika informasi yang tepat dan cepat diberikan. Jadi bagaimana cara menyesuaikan konten judul secara "dinamis"?
Kita tahu bahwa kita bisa menggunakan ASP untuk mengubah judul browser secara dinamis, yang mungkin berupa pernyataan seperti ini:
<title><% = GenerateTitle %></title>
Di ASP.NET 1.1, selain masih menggunakan cara di atas, kita punya satu lagi cara "indah" untuk melihatnya:
Di halaman aspx:
<title id="cltTitle" runat="server"></title>
Dalam berkas CS:
dilindungi HtmlGeneralControl cltTitle;
.
cltTitle.innerHtml = "beranda birdshome";
Saat ini berada di era ASP.NET 2.0. Selain dua metode di atas, kita juga dapat memodifikasi konten <title> dengan lebih mudah:
Page.Title
= "beranda birdshome";
konten "dinamis" di atas dari <title> dimodifikasi di sisi server. Faktanya, untuk browser, konten dalam tag <title> telah diperbaiki sepenuhnya. Mari kita kembali ke pokok permasalahan dan mari kita bicara tentang kontrol bilah judul browser IE pada klien secara detail:
Untuk halaman di jendela IE, di objek DOM halaman, atribut document.title digunakan untuk menggantikan innerHTML dari elemen <title> untuk mendapatkan dan mengatur IE Isi bilah judul jendela. Perhatikan contoh berikut:
<html>
<tubuh>
<!-- konten halaman -->
<skrip bahasa="javascript">
dokumen.tubuh.onload = fungsi()
{
document.title = "beranda birdshome";
};
</skrip>
</tubuh>
</html>
Ya, sesederhana itu mengatur bilah judul jendela IE biasa. Jadi apa yang ingin kukatakan? Saat ini, bagaimana jika kita memasukkan kode yang sama persis ke jendela modal untuk dieksekusi? Apakah bilah judul jendela modal akan diubah? Hasil percobaannya membuat frustrasi. Kode yang sama persis gagal di jendela modal. Apakah DOM yang disediakan oleh jendela modal berbeda dengan jendela biasa? Sebenarnya DOM jendela modal sama dengan jendela biasa, namun bedanya setelah halaman di jendela modal dimuat, atribut document.title memang menjadi tidak valid. Inilah mengapa pernyataan pada event onload pada kode contoh di atas tidak berpengaruh. Cara mengatasi batasan ini sangat sederhana, yaitu dengan memodifikasi document.title sebelum halaman dimuat. Oleh karena itu, untuk mengubah title bar IE di jendela modal, Anda harus menggunakan kode ini:
<html>
<tubuh>
<!-- konten halaman -->
<skrip bahasa="javascript">
document.title = "beranda birdshome";
</skrip>
</tubuh>
</html>
Berikut ini adalah contoh yang mencakup dua metode di atas untuk memodifikasi bilah judul browser. Simpan sebagai file "abc.htm". Buka dengan IE dan Anda dapat melihat perbedaannya secara intuitif:
<html>
<tubuh>
<tombol onclick="foo()">
Buka</tombol>
<skrip bahasa="javascript">
dokumen.tubuh.onload = fungsi()
{
document.title = "beranda birdshome (tulis ulang)" + unescape(H_A0);
};
document.title = "beranda birdshome (pertama)" + unescape(H_A0
function foo())
;
{
window.showModalDialog("abc.htm");
}
</skrip>
</tubuh>
</html>
Hasilnya adalah bilah judul jendela IE biasa akan dengan cepat berubah dari "beranda birdshome (pertama)" menjadi "beranda birdshome (menulis ulang)", sedangkan judul kotak dialog modal dibuka dengan menggunakan tombol Buka akan selalu menjadi "beranda sangkar burung (pertama)". Dari contoh ini kita dapat melihat bahwa untuk jendela IE biasa, bilah judulnya dapat diubah kapan saja selama masa pakai halaman. Adapun bilah judul jendela modal, kita hanya dapat memodifikasinya sebelum halaman dimuat (sebelum peristiwa onload dipicu). Kotak dialog non-modal, dibuka oleh showModelessDialog, menangani bilah judul persis sama dengan kotak dialog modal.
Terakhir, mari kita bicara tentang teknik menggunakan document.title. Kita tahu bahwa jika judul halaman diubah "secara dinamis" di sisi server, kita bisa menulis &nbps di antara tag <title></title> untuk menghasilkan spasi terus-menerus bilah judul. Masukkan efeknya. Teknik ini sangat berguna di jendela modal, sehingga kita dapat mendorong teks "-Dialog Halaman Web" yang mengganggu itu keluar dari bilah judul dengan spasi terus menerus. Setelah menggunakan atribut document.title untuk mengubah bilah judul halaman, apakah itu jendela normal atau jendela modal, " " dan " " (spasi) tidak dapat digunakan. Yang pertama akan ditampilkan langsung di bilah judul sebagai sebuah string, dan yang terakhir Tidak peduli berapa banyak Anda menambahkan, itu hanya akan memiliki efek lebar satu " " (spasi). Di sini kita harus menggunakan ruang lain, entitas , untuk menyelesaikan masalah ini. Kodenya adalah sebagai berikut:
<html>
<tubuh>
<skrip bahasa="javascript">
var HexA0s = "%A0 %A0 %A0 %A0";
dokumen.tubuh.onload = fungsi()
{
document.title = "beranda birdshome (tulis ulang)" + unescape(HexA0s);
};
</skrip>
</tubuh>
</html>
http://birdshome.cnblogs.com/archive/2006/06/23/control_browser_title.html