Оповещения при переходе от веб-страницы


когда я пытаюсь закрыть вкладку Google docs с несохраненными изменениями, это то, что я получаю в своем браузере (FF 3.5).

вы уверены, что хотите уйти с этой страницы?

У вас есть несохраненные изменения в этом документ. Нажмите кнопку Отмена сейчас, а затем "Сохранить", чтобы спасти их. Нажмите кнопку ОК сейчас, чтобы выбросьте их.

нажмите OK, чтобы продолжить или отменить остаться на текущей странице.

мой вопрос заключается в том, являются ли такие предупреждения часть веб-приложения (gdoc, например.) или они выдаются браузером? Если последнее, то как это делается?

2 52

2 ответа:

С помощью браузера. Это же beforeunload обработчик событий, который возвращает настроенный текст диалогового окна, который является только серединой трех абзацев - другие два абзаца, а также текст кнопок не могут быть настроены или иным образом изменены.

window.onbeforeunload = function(){ return 'Testing...' }

// OR

var unloadListener = function(){ return 'Testing...' };
window.addEventListener('beforeunload', unloadListener);

даст диалог, который говорит

Are you sure you want to navigate away from this page?

Testing...

Press OK to continue, or Cancel to stay on the current page.

вы можете обнулить это, установив обработчик в null

window.onbeforeunload = null;

// OR

window.removeEventListener('beforeunload', unloadListener);

оповещения являются частью веб-приложения. Просмотрите исходный код и посмотрите на javascript.