Pertama -tama, mari kita nyatakan di sini, versi browser uji saya adalah Chrome15.0.874.121 Firefox 8.01 IE9 IETETESTER
Kode berikut adalah tentang pernyataan
1: Mendapatkan Rolling Bar
Salin kode kode sebagai berikut:
fungsi getscroll () {{)
var t, l, w, h;
If (document.documentelement && document.documentedlement.scrolltop) {
t = document.documentelement.scrolltop;
l = Document.DocumentElement.scrollleft; // ujung kiri bilah gulir
w = document.documentelement.scrollwidth;
h = document.documentelement.scrollheight;
}
kalau tidak
if (document.body) {
t = document.body.scrolltop;
l = document.body.scrollleft;
w = document.body.scrollwidth;
h = document.body.scrollheight;
}
Kembali {
T: T,
II,
W: W,
H: h
};
}
2: Dapatkan ketinggian lebar browser tampilan
Salin kode kode sebagai berikut:
function getPageWidth () {
var pagewidth = window.innerwidth;
Ifof Pagewindth! = "Number") {{
if (document.compatmode == "css1compat") {{{{{{{{{{{
pagewidth = document.documentelement.clientwidth;
}
kalau tidak {
pagewidth = document.body.clientwidth;
}
}
Mengembalikan pagewidth;
}
fungsi getPageHeight () {
var pageHeight = window.innerheight;
Ifof Pagewindth! = "Number") {{
if (document.compatmode == "css1compat") {{{{{{{{{{{
pageHeight = document.documentelement.clientHeight;
}
kalau tidak {
pageHeight = document.body.clitingHeight;
}
}
Kembalikan PageHeight;
}
3: Dapatkan nama model browser saat ini
Salin kode kode sebagai berikut:
Fungsi () {
var sys = {};
var ua = navigator.useragent.tolowercase ();
var s;
(s = ua.match (/msie ([/d.+)/))? /)? (/Opera. (#/D.+)/))? )))))))))))))))).
if (sys.ie! = null) {
Return ("IE:" + sys.ie);
}
if (sys.firefox! = null) {
Return ("Firefox:" + sys.firefox);
}
if (sys.chrome! = null) {
Return ("Chrome:" + Sys.Chrome);
}
if (sys.opera! = null) {
Return ("Opera:" + Sys.Opera);
}
if (sys.safari! = null) {
Return ("Safari:" + Sys.Safari);
}
}
4: Pemantauan acara
Salin kode kode sebagai berikut:
function (elemen, type, handler) {{
if (element.addeventristener) {{
Element.addeventListener (tipe, pawang, false);
}
kalau tidak
ifment.attachevent) {
Element.attachevent ("on" + type, handler);
}
kalau tidak {
Elemen [on " + type] = handler;
}
}
5: Penghapusan acara
Salin kode kode sebagai berikut:
function (elemen, type, handler) {{
If (element.removeEventListener) {
Element.removeeventlistener (tipe, handler, false);
}
kalau tidak
ifment.detachevent) {
Element.detachevent ("on" + type, handler);
}
kalau tidak {
Elemen ["on" + type] = null;
}
}
6: Ketika peristiwa, ketika acara Firefox terus didistribusikan, akan ada masalah dengan insiden pertama.
Salin kode kode sebagai berikut:
Function (event) {
Event = (Event? Event: window.event);
if (event == null) {
var $ e = function () {
var c = $ e.caller;
While (c.caller)
c = c.caller;
Mengembalikan c.arguments [0]
};
__DefineGetter __ ("acara", $ e);
}
Acara kembali;
}
7: Cegah acara default
Salin kode kode sebagai berikut:
Function (event) {
if (event.preventdefault) {
event.preventdefault ();
}
kalau tidak {
event.returnValue = false;
}
}
8: Jangan terus menyebarkan kejadian
Salin kode kode sebagai berikut:
Function (event) {
if (event.stoppropagation) {
event.stoppropagation ();
}
kalau tidak {
event.cancelbubble = true;
}
}
9: Dapatkan target acara
Salin kode kode sebagai berikut:
Function (event) {
Return event.target ||.
}
10: documen.doctype tidak konsisten dengan dukungan
E: Jika ada deskripsi jenis dokumen, itu akan dijelaskan oleh kesalahan sebagai anotasi dan menganggapnya sebagai node komentar.
Firefox: Jika ada deskripsi jenis dokumen, gunakan sebagai sub -node pertama dari dokumen.
Safari, Chrome, Opera: Jika ada deskripsi jenis dokumen, itu akan dijelaskan sebagai penjelasan, tetapi itu tidak akan muncul dalam pengasuhan anak sebagai sub -node dari dokumen.
11: Temukan elemen
Terkadang saya benar -benar tidak mengerti apa yang selalu dilakukan IE, saya selalu ingin membuat perbedaan. Jika sistem tidak membiarkan diri saya browser, saya berani mengatakan bahwa bagian IE akan lebih sedikit.
Jika ID dan namanya sama, ia juga akan dikembalikan
Salin kode kode sebagai berikut:
<Html>
<head>
<Script Disper>
var it item = document.geteLementById ("my");
itm.value = "kedua";
</script>
</head>
<body>
<input type = "text" name = "my" value = "first">
</body>
</html>
Dalam IE, hasilnya berubah.
Hal yang sama adalah IE, ID tidak dibedakan
Salin kode kode sebagai berikut:
<Html>
<head>
<Script Disper>
var it item = document.geteLementById ("my");
itm.value = "kedua";
</script>
</head>
<body>
<input type = "text" id = "my" value = "first">
</body>
</html>
Maaf, hasilnya berubah lagi.
12: Jika itu adalah atribut khusus, item.myattribut tidak dapat menggambar hasil yang benar tanpa IE browser.
Salin kode kode sebagai berikut:
Function (item, myatt) {
Mengembalikannya.
}
Dalam kasus yang sama, atribut pengaturan harus tahu apa yang harus dilakukan, yaitu penugasan.
Salin kode kode sebagai berikut:
Fungsi (item, motort, value) {
item.attributes [MYATT].
}
13: Jumlah sub -node dari elemen
Salin kode kode sebagai berikut:
<ul id = "myul">
<li> Pertama </li>
<li> Kedua </li>
<li> Ketiga </li>
</ul>
Hasil IE adalah 3 dan browser lainnya adalah 7.
Simbol kosong antara simpul adalah simpul teks di browser lain, dan hasilnya adalah 7. Jika menjadi seperti ini,
Salin kode kode sebagai berikut:
<ul id = "myul"> <li> pertama </li> <li> Kedua </li> <li> Ketiga </li> </ul>
Dengan cara ini, hasil semua orang adalah 3.
14: Buat masalah simpul
Salin kode kode sebagai berikut:
// Tambahkan elemen secara dinamis, semua browser dapat dicapai
var newNode = document.createElement ("input");
newnode.type = "tombol";
newnode.value = "Sixth";
// itu bisa direalisasikan di IE
var newNode = document.createElement ("<input type =/" Tombol/">">);
15: Saat melindungi klik kanan, Firefox berbeda dari yang lain, dalam insiden OncontextMenu.
16: Saat menambahkan gaya dan skrip secara dinamis, IE dan browser lainnya berbeda. Cek spesifik.
17: Untuk DOM2 dan DOM3, situasinya lebih rumit.