Возможно связано с Как открыть ссылку mailto в Chrome с Window.open без создания новой вкладки?
Привет всем. У меня есть страница формы, на которой я разместил окно. Перед загрузкой подтверждения, чтобы люди не могли уйти и случайно потеряли свои изменения:
window.onbeforeunload = function(){
if(changed)
return "You have unsaved changes. Do you really want to leave this page without saving?";
};
где changed
- это переменная, которую я устанавливаю в true всякий раз, когда пользователь вносит какие-либо изменения. Это все хорошо. Тем не менее, я также добавил несколько ссылок mailto на страницу, например:
<a class="button button-alt" href="mailto:foo@foo.com">Report a problem</a>
Несмотря на то, что mailto не перемещается со страницы (оно открывает почтовое приложение пользователя по умолчанию), оно все равно вызывает событие onbeforeunload, вызывая окно подтверждения, что раздражает. Я могу обойти его установкой target="_blank"
по ссылке, но тогда пользователь остается сидеть на пустой вкладке.
Могу ли я установить ссылку mailto, чтобы не запускать событие onbeforeunload? Я подумал об ужасно хакерском способе сделать это, имея другую временную переменную javascript, которая заставляет подтверждение onbeforeunload не срабатывать, но это выглядит грязно. Я все равно сделаю это, пока жду ответа, но у кого-нибудь есть более хорошее решение?
спасибо, макс.