Radio sam modifikaciju neke skripte koja koristi templatove u php-u , ubacio sam neku dodatnu skriptu koja koristi Ajax + Perl + PHP.
I sve ja lepo odradio, integrisao u novu skriptu, sve radi kao bombona, i onda, na kraju (kakva greska), resim da testiram u IE6.
I skripta obara IE6. Naravno, originalna skripta koju sam preuzeo ne obara IE6.
Krenem ja u izolaciju JS koda, liniju po liniju i identifikujem da IE pada na liniji
tbody.appendChild(tr);
btw, ako niste znali, ne mozete u tabelu dodavati row childove direktno u objekat tabele, jer IE DOM model u svaku tabelu IMPLICITNO dodaje <tbody> element. Tako da ako vam ne radi append redova u tabelu, treba da pokupite tbody objekat, pa u njega dodajte....
no, da se vratim na pricu...
I tako je proslo 3 dana bezuspesnih pokusaja i googlanja na sve strane u pokusaju da se spreci ovo krahiranje IE6.
Sta sam na kraju ukapirao?
U originalnoj skripti je HTML document header ovakav:
Code:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html>
a u skripti u koju sam integrisao, templejt je postavljao header:
Code:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en" xml:lang="en">
Kada sam promenio header sve je proradilo!!!!!!! Naravno, kao sto sam rekao, ovo posle 3 dana agonije. I ova skripta radi SAMO I JEDINO sa ovim prvim headerom
Dakle, dame i gospodo, ako vam krahira IE6 na appendChild, proverite header dokumenta.
http://www.kgonline.info - Prvi kragujevački portal i forum