Как я могу предотвратить запуск window.onbeforeunload ссылками javascript: href в IE?

Я создаю отказоустойчивую систему для своей формы, которая будет предупреждать пользователей, что если они покинут страницу, их данные формы будут потеряны (аналогично тому, что делает gmail).

window.onbeforeunload = function () {    
        if (formIsDirty) {
            return "You have unsaved data on this form. Don't leave!";
        }
}

Вышеупомянутая функция отлично работает в firefox, но в IE она запускается любой ссылкой href, даже если это ссылки на javascript, а не на другие страницы.

например ....

<a href='javascript:someFunction();'>click</a>

Мне интересно, есть ли способ обойти это, поскольку я не хочу, чтобы пользователь думал, что они покидают страницу, когда они просто нажимают на ней кнопку. У меня нет возможности переписать все различные ссылки , поскольку они встроены и многочисленны.

Есть идеи?

26
задан Matthew Flaschen 16 June 2014 в 04:09
поделиться