Даже если вы используете XMLHttprequest для обновления, IE имеет проблему. Вы должны вызвать функцию javascript, которая содержит XMLHttprequest, например,
<a href="javascript:void(0)" onclick="addContent();">click to add content</a>
вызовет событие onbeforeunload в IE, но не в Safari или Firefox.
Одно из решений, которое будет работать в некоторых ситуациях, - это обработать событие условно, отключить его, когда вы захотите загрузить контент, затем включить его снова
var guard = true;
function myOnbeforeunloadHandler()
{
if(guard)
{
return "you are about to leave the page and lose data";
}
}
function addContent()
{
getElementById("myDiv").html = "<p>some content</p>";
guard = true;
}
<a href="javascript:void(0) onclick="guard=false;addContent();> click to add content</a>