Предполагается, что обработчик onbeforeunload возвращает строку.Независимо от того, будет ли строка показана пользователю или нет, зависит от браузера.
Ваша функция возвращает результат вызова «verify ()», логическое значение.Firefox 4 не показывает возвращенную строку из обработчика beforeunload, в то время как другие браузеры все еще показывают.Таким образом, ваша функция устанавливает поле «Подтвердить», получает результат и возвращает его.Затем браузер выдает подтверждение «beforeunload», которое в некоторых браузерах будет содержать строковое значение, возвращаемое вашим обработчиком («true» или «false»).
Здесь это документация Mozilla для события и его обработчик.