, Используя обычную ссылку, проблема уже решена.

я есть следующий скрипт на моей веб-странице ASP.NET, чтобы предупредить пользователя, когда он уходит со страницы с несохраненными изменениями.

$(document).ready(function() {
    $('input:not(:button,:submit),textarea,select').change(function () {
        window.onbeforeunload = function () {
            return 'Changes made to this page have not been saved!';
        }
    });
});

Это работает так, как задумано, за исключением некоторых проблем, когда пользователь использует Internet Explorer и пытается уйти, используя такую ​​ссылку, как эта.

<div onclick="window.location=&#39;http://www.domain.com&#39;;">Text</div>

Если пользователь выбирает «Оставаться на этой странице», окно сообщения появляется дважды. И затем, если они выбирают «Оставаться на этой странице» во второй раз, отладчик выделяет ссылку выше с сообщением:

Ошибка выполнения Microsoft JScript: неуказанная ошибка.

Эта проблема характерна для Internet Explorer. Ища в Интернете, я смог найти многочисленные ссылки на то, что похоже на связанные ошибки, невероятно возвращаясь к нескольким версиям Internet Explorer. Тем не менее, я не смог найти ни одного комментария от Microsoft, ни разумного исправления. Вот несколько ссылок, которые я нашел, которые связаны между собой.

http://forums.asp.net/t/1199756.aspx/1Почему мой обработчик onbeforeunload вызывает ошибку «Unspecified error»?http://www.telerik.com/community/forums/aspnet-ajax/tabstrip/cancel-on-onbeforeunload-in-ie-6-7-create-js-unspecified-error.aspxhttp://scottonwriting.net/sowblog/archive/2005/04/19/163068.aspxhttp://www.techtalkz.com/internet-explorer/116662-onbeforeunload-dialog-cancel-button-when-window-location-href-bug.htmlhttp://www.ibm.com/developerworks/forums/thread.jspa?messageID=14213927http://www.webmasterkb.com/Uwe/Forum.aspx/jscript/4321/IE7-and-onbeforeunloadhttp://www.bigresource.com/ASP-Javascript-Unspecified-Error-BHoy7ptS.htmlhttp://www.4guysfromrolla.com/articles/042005-1.aspx

Кто-нибудь может предложить обходной путь? Не похоже, что Connect принимает отчеты об ошибках IE. Я использую IE9

Ответы на вопрос(3)

Ваш ответ на вопрос