В CMS нередко при закрытии страницы редактирования чего-либо появляется такое сообщение с выделенной кнопкой и своим заголовком (скин 1 или 2). Вряд ли оно кастомное, скорее всего стандартный компонент браузера.
Но когда я пытаюсь сделать то же самое на JavaScript функцией conform() у меня появляется такое окно (скрин 3) со стандартным заголовком и кнопками.
Как мне вызвать такое же окно как в CMS с выделенными кнопками и своим заголовком?



это как правило если вы пользовались формой поиска или что то вводили в какие то поля типа input то это стандартная процедура браузера
на js мы можем отследить положение мышки и если она выходит за пределы экрана то уже выдать сообщение
примерно вот так : _https://ruseller.com/lessons/les195/example/index.html
Это стандартный диалог. Смотри справку по событию beforeunload (например, на MDN), чтобы понять как все это использовать.
В современных браузерах, возможность установки кастомного текста в стандартный диалог при выгрузке дока - изначально была, но впоследствии ее поспешно выпилили из-за злоупотреблений этой фичей. Теперь текст задается юзерагентом, и через апи изменять его НЕЛЬЗЯ. Такое ограничение закреплено в стандарте: _https://html.spec.whatwg.org/#prompt-to-unload-a-document
Другими словами, ты можешь задать свой текст, но он будет показан только браузерами с нестандартным поведением, а остальные покажут свой типовой текст.
Вызывать в обработчике beforeunload свои диалоги через confirm() - можно, но не гарантируется что они будут показаны... то есть, лучше так не извращаться.
Во-первых, не "conform()", а confirm(). Функция вызывается для подтверждения действия именно для чего-то, чтобы вызвать true или false. А есть функция, которая выполняется перед выходом со страницы и выглядит так:
window.onbeforeunload = evt => {
let message = "Введите сообщение, чтоб вывелось";
if (evt) {
evt.returnValue = message;
evt = window.event;
}
return alert(message);
}
Я всегда это делал стандартным методом confirm(). Вопрос собсно выше...