Hari ini saya dan Pak Gatot menemukan bugs yang aneh di IE9. Yang membuat aneh adalah bugs ini hanya muncul di IE9 laptop Pak Gatot, tidak pada IE9 yang ada di laptop saya.
IE9 yang kami gunakan sama-sama versi 9.0.8112.16421. Dan bagaimana kami memperolehnya juga sama, yaitu pertama kami menggunakan IE8 dari bawaan Windows 7, kemudian meng-upgrade nya ke IE9.
Coba perhatikan potongan kode javascript berikut:
function test1()
{
var tmp = new Date();
tmp = String('0' + tmp.getDate()).substr(-2) + '-' + String('0' + (tmp.getMonth() + 1)).substr(-2) + '-' + tmp.getFullYear();
alert(tmp);
}
Lalu potongan kode HTML berikut yang memanggil fungsi di atas:
<input type="button" value="Test 1" onclick="test1()" />
Coba tebak hasilnya!
Tentu saja rata-rata orang akan menebak ini:

Tetapi di IE9 yang ada di laptop Pak Gatot, ketika tombol Test 1 ditekan, yang muncul seperti ini:

Perhatikan bahwa substr(-2) tidak berhasil mengambil karakter kedua dari belakang.
Jadi, solusinya adalah membuat fungsi ini:
function right(str, len)
{
return (str.length <= len ? str : str.substr(str.length - len));
}
Kemudian mengganti semua kode seperti ini:
String('0' + variabelNumber).substr(-2)
menjadi seperti ini (menggunakan fungsi yang dibuat sendiri):
right(String('0' + variabelNumber), 2)
Masalah terselesaikan
. IE memang selalu merepotkan web developer
.

Komentar Terkini