Safari имеет функцию, которая запрашивает у вас, если вы действительно хотите закрыть / обновить страницу, на которой есть несколько форм, которые вы набрали. Это полезно в большинстве случаев, но в этом случае это меня беспокоит.
Я перехватываю событие submit в некоторых формах и отправляю их на сервер через XMLHttpRequest. Однако Safari этого не знает, поэтому, когда я хочу закрыть вкладку, он отображает это чертово предупреждение о том, что значения формы изменились.
Я знаю, как отключить его в OS X, и я не хочу этого. Я хочу отключить его на этой конкретной веб-странице, которую я создаю, и для всех пользователей Safari. Конечно, должен быть какой-то способ JavaScript - мне все равно, является ли он проприетарным для webkit.
Обновление: Я пробовал это, но безрезультатно. Safari сначала предупреждает о несохраненных данных, , а затем вызывает событие beforeunload.
if (Prototype.Browser.WebKit)
window.addEventListener('beforeunload', function(e) {
forms.invoke('reset')
})