Evet Internet Explorer çok aptal, bunu yazıyorum çünkü bunu yazmaya hakkım var. Temmelelrini ajax (xajax) üzerine kurdugum bir site var, FireFox ve Opera da gayet düzgün çalışırken IE de “Operation Aborted” hataları üretip sayfa bulunamadı mesajları vermeye başlamıştı.
Bütün kodları baştan aşşa gözden gecirdim. Taa ki bunun bir IE hatası oldugunu farkdene kadar tüm kodlarımı kontrol ettim.
Evet , evet IE yüzünden saatlerimi boşa harcadım!
“This is a workaround for a bug in MSIE that sometimes produces
“Operation Aborted” errors. The error comes from the fact that
MSIE will /sometimes/ call the onload handler before the DOM
heirarchy is completely built.
So we do not run this function until the page has completely
loaded if we are MSIE.”
Yani diyorki Aptal IE bazen, ara ara, kafasına göre, onload ( tetikleyicisini ) sayfa yüklenmeden önce calıştırabilir ve bu da “Operation Aborted” durumuna yol açar.
Bu IE denen yazılımı yazan vatandaşlar ! Bu nasıl kodlama?
Olayı şöyle çözdüm:
xajax.realCall = xajax.call;
xajax.call = function(sFunction, aArgs, sRequestType)
{
var browser=navigator.appName;
if (browser == "Microsoft Internet Explorer" && document.readyState != "complete")
{
window.setTimeout (function () { xajax.call(sFunction, aArgs, sRequestType); }, 100);
return false;
}
return this.realCall(sFunction, aArgs, sRequestType);
}
yani kontrol ettiriyorum acaba sayfa gercekten harbiden yuklendi mi bu sayfa yi çagıran IE mi?
saat desabahın 5 i olmak uzere, hadi iyi sabahlar...