Возможный подход также может заключаться в подключении к событию onunload
, и если этот обработчик вызывается, вы знаете, что пользователь выбрал OK
.
В onbeforeunload
, установите тайм-аутобратный вызов, который вызывается спустя некоторое время (например, 1 секунда), и если он вызывается, пользователь мог выбрать Cancel
.
Хотя не уверен, насколько это безопасно в отношении условий гонки.