There is a very huge bug in IE :
http://weblogs.asp.net/infinitiesloop/archive/2006/11/02/Dealing-with-IE-_2600_quot_3B00_Operation-Aborted_2600_quot_3B002E00_-Or_2C00_-how-to-Crash-IE.aspx
There is two problems with that :
If the header is wrong formated for IE : like base tag written <base href=""/> wich is not supported by IE (lol) Archetype's addJS method crash IE.
Basic solution to deal with that is this modification, in addJS method :
var archetypeElement = document.getElementById("archetype");
var container = archetypeElement.parentNode;
container.appendChild(script);
//var head = document.getElementsByTagName("head")[0];
//head.appendChild(script);
Once more this solution had to be perfected.
The second behavious si very much more difficult to find :
If the content of the page is big and contain script tag (berk :p) it appends that archetype.js is loaded before the loading of the end of the page content. And if Archetype do a addJS before a script tag in the page content, crash, same bug.
To deal with that we need to wait (only with IE) the end of the page content loading before launching Archetype.
This code is a solution but also had to be perfected :
if (document.all && !window.opera){ //Crude test for IE
//Define a "blank" external JavaScript tag
document.write('<script type="text/javascript" id="contentloadtag" defer="defer" src="javascript:void(0)"><\/script>')
var contentloadtag=document.getElementById("contentloadtag")
contentloadtag.onreadystatechange=function(){
if (this.readyState=="complete")
Archetype.load();
}
} else {
Archetype.load();
}