If you're web developer and write JavaScript/AJAX-driven web sites you probably have seen such message (in IE of course)... If you haven't seen it yet just save this as html file and open it in IE:
<html>
<head>
<script type="text/javascript">
function appendToBody() {
var span = document.createElement('span');
document.body.appendChild(span);
}
</script>
</head>
<body>
<form>
<script type="text/javascript">
appendToBody();
</script>
</form>
</body>
</html>
The code is taken from blog post Dealing with IE "Operation Aborted". Or, how to Crash IE.
So as a rules of thumb for DOM manipulations inside browsers:
- The problem is you can't append to the BODY element from script that isn't a direct child to the BODY element.
- Do not place script inside <table> tags.
- Do not try to manipulate with element in Javascript which are not loaded yet! (e.g div placed on the very bottom at the page and not loaded by browser at the time when JS function is executed).
These rules can save you many hours of guessing what's wrong...