Hoşgeldin IE7 (Ve tabii ki ona has düzeltmeler…)

FF2 ve IE6 da test ettiğimiz web uygulamamız IE7 yüklü bilgisayarlarda çalışmadı.

İlk düzeltme css tablo sınıflarının html içindeki kontrolünde oldu. Daha önce IE6 için arka kapı teknikleri ile düzeltilen bu farklılık IE7 de aynı şekilde çalışmadı.

<table class="report">
<!--[if lte IE 6]><table class="reportie"><! [endif]-->
<!--[if lte IE 7]><table class="reportie"><! [endif]-->

Bunun yerine PHP tarafında IE ‘leri kontrol için kodu aşağıdaki gibi değiştirdik,

<?php $chkIE = strpos( $_SERVER[HTTP_USER_AGENT], 'MSIE' );
if( $chkIE == false ) {
?>
<table class="report"><!-- diğer tarayıcılar, FF, Opera -->
<?php } else { ?>
<table class="reportie"><!-- IE6, IE7 -->
<?php } ?>

İkinci düzeltmemiz ise sayfalarımızda kullandığımız bir DoJo javascript kütüphanesinin kodunda gerekti. ComboBox da çalışan kodumuz IE7 de ‘this._data[…].0′, null or not value hatası verdi.

Bu düzeltmeyi DoJo 4.2 ComboBox.js dosyası içinde aşağıdaki gibi yaptık,
kodun bir kısmı if( this._data[x]) { } kontrolü içine alındı.

_performSearch:function (searchStr, callback) {
var st = this.searchType;
var ret = [];
if (!this.caseSensitive) {
searchStr = searchStr.toLowerCase();
}
for (var x = 0; x < this._data.length; x++) {
if ((this.searchLimit > 0) && (ret.length >= this. earchLimit))
break;
}
if( this._data[x]) {
var dataLabel = new String((!this.caseSensitive) ? this._dat
if (dataLabel.length < searchStr.length) {
continue;
}
}
...

Şimdilik bu kadarı ile uyumluluğu sağlamış görünüyor sayfalar.