IE: “Operation aborted”
Pred nedávnom som pri jednom projekte narazil na veľmi zaujímavú chybu Internet Eploreru. Využíval som v projekte jednu js knižnicu po ktorej naincludovani do stránky explorer jednoducho odmietol zobraziť túto stránku a oznámil takmer nič nehovoriaci error: “Operation aborted“. Táto chyba sa týcha zrejme všetkých IE(testoval som na IE6 a IE7).
Celý problém spočíval v javascriptovom kóde ktorý dynamicky vkladal div na koniec stránky (ako posledného potomka elementu body). V podstate úplne regulerná operácia, avšak exlorer s ňou má problém. Explorer vie vložit potomka elementu body len v prípade že samotný element script, ktorý je na stránke (a kde sa nachádza kód pre generovanie tohto divu) je tiež priamym potomkom elementu body.
Príklad stránky, ktorý explorer odmietne zobraziť:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
</head>
<body>
<h1>Táto stránka sa IE nezobrazí</h1>
<div>
<script type="text/javascript">
var div = document.createElement('div');
document.body.appendChild(div);
</script>
</div>
</body>
</html>Po vytvoreni tejto stránky v IE sa dočkáte spomínanéj chyby.

Problém sa dá v podstate riešiť 2 spôsobmy. Prvým by bolo presunúť tento js kód do stránky tak aby bol priamim potomkom elementu body alebo negenerovať žiadny element ktorý sa bude dynamicky pridávať ako potomok elementu body - čiže napríklad si dať nejaký div na koniec do ktorého sa bude potrebný dynamický element pridávať.
Mýslim že je to v celku zujímavá a podľa mňa nezmyselná chyba. Predpokladám, že interpreter javasriptu sa snaží vložiť náš element do zatiaľ neúplne natihnutého kódu stránky čo ma žiaľ za následok nezobrazenie stránky.
Príklad ktorý IE nezobrazí si môžte pozrieť TU a upravený príklad ktorý zobrazi nájdene TU.
ahoj super clanok. mohol by si este dat priklad ako to inkludnut spravne, teda ako priameho potomka (pre nas menej skusenych) vdaka