Sangat umum menggunakan judul web untuk meminta pengguna untuk pesan baru, seperti Weibo dan beberapa alamat email, yang sangat umum. Bagaimana cara mengimplementasikan suatu fungsi?
Idenya adalah: mengakses latar belakang melalui Ajax. Contoh: [Anda memiliki berita baru] dan [] sakelar. Konten prompt adalah dinamis, sehingga jumlah spasi dalam teks penggantian juga dihitung. Gunakan ruang lebar penuh di sini. Namun, jika ada karakter setengah lebar seperti 'angka' di pesan cepat, akan ada masalah. Ruang-ruang pada lebar penuh jauh lebih lebar dari lebar setengah lebar 1. Dengan cara ini, tidak akan sangat nyaman untuk berkedip;
Tapi document.title = ''; tidak peduli berapa banyak ruang setengah lebar, browser hanya menampilkan satu. Jika digunakan, output itu seperti adanya; Dapatkan judul objek DOM dan ubah dengan t.innerHtml = ''.
Tapi apakah itu akan berjalan begitu lancar, tentu saja tidak. IE imut kami akan selalu keluar untuk membuat masalah saat ini. Di browser IE, bagian dalam judulnya hanya baca (tidak hanya judul, tetapi atribut dalam col, colgroup, frameset, html, gaya, meja, tbody, tfoot, thead, tr adalah read-only). Jika penugasan paksa dibuat, "kesalahan runtime yang tidak diketahui" akan terjadi. Saat ini, saya belum menemukan solusi yang sangat baik, jadi saya hanya bisa menambahkan mencoba {} catch (e) {} untuk menanganinya secara khusus
Bagikan Kode Sumber:
Salinan kode adalah sebagai berikut:
<type script = "text/javascript" bahasa = "javascript">
var flashtitlePlayer = {
Start: function (msg) {
this.title = document.title;
if (! this.action) {
mencoba {
this.element = document.geteLementsbyTagname ('title') [0];
this.element.innerhtml = this.title;
this.action = function (ttl) {
this.element.innerhtml = ttl;
};
} catch (e) {
this.action = function (ttl) {
document.title = ttl;
}
hapus ini.
}
this.toggletitle = function () {
this.action ('【' + this.messages [this.index = this.index == 0? 1: 0] + '] Selamat datang di Simple Modern Magic ");
};
}
this.messages = [msg];
var n = msg.length;
var s = '';
if (this.element) {
var num = msg.match (// w/g);
if (num! = null) {
var n2 = num.length;
n -= n2;
while (n2> 0) {
s += "";
n2--;
}
}
}
while (n> 0) {
s += '';
N--;
};
this.messages.push (s);
this.index = 0;
this.timer = setInterval (function () {
flashtitlePlayer.toggletitle ();
}, 1000);
},
hentikan: function () {
if (this.timer) {
clearInterval (this.timer);
this.action (this.title);
hapus this.timer;
Hapus ini. TMS;
}
}
};
function flashTitle (msg) {
flashtitlePlayer.start (msg);
}
fungsi stopflash () {
flashtitlePlayer.stop ();
}
</script>
Firefox, tidak ada masalah di bawah Chrome, tidak ada masalah ketika IE diminta bahwa ada satu atau tidak ada karakter setengah lebar dalam pesan.