Показать пользовательское сообщение и текст кнопки для диалога подтверждения javascript?

Можно ли дать собственное сообщение для кнопок вместо Cancel/Ok и дать свой собственный текст?

Я видел много руководств по замене подтверждения js диалоговым окном jquery. Но разве нет способа использовать нативный JS? Я вижу то же самое в Grooveshark и на многих других страницах; когда пользователь хочет уйти со своей страницы, пользователю предлагается диалоговое окно js с настраиваемыми кнопками, такими как «Оставаться на странице/Покинуть страницу»?

Любая идея, как они могут реализовать это? Их диалоговое окно выглядит так, как будто оно создано с использованием собственного JS!


person Ivin Jose    schedule 21.02.2013    source источник
comment
Нет, в этом случае вам нужно использовать какую-то пользовательскую библиотеку, их куча. Однако вы можете стилизовать их, чтобы они выглядели как родные. Но подумайте, стоит ли пытаться имитировать все возможные платформы и браузеры? Нет.   -  person dfsq    schedule 21.02.2013
comment
Это было бы что-то вроде диалога jQuery (или другого библиотечного аналога), и ничего больше.   -  person Joseph    schedule 21.02.2013


Ответы (1)


Я полагаю, вы видели немного другое диалоговое окно.

Добавьте это на свою страницу:

window.onbeforeunload = function() {
    return "Are you sure you want to navigate away?";
}
person Jeremy J Starcher    schedule 21.02.2013
comment
Да конечно, но вопрос как сделать кастомные надписи на кнопках. - person dfsq; 21.02.2013
comment
@dfsq: пожалуйста, внимательно прочитайте вопрос. велика вероятность, что оп не знает onbeforeunload - person naveen; 21.02.2013
comment
Это именно то, что я хотел. Спасибо. Еще одна вещь, можно ли изменить текст или метки кнопок? - person Ivin Jose; 21.02.2013
comment
Нет, невозможно изменить текст любого встроенного элемента управления. Не prompt, alert, confirm или диалоговое окно страницы выхода. - person Jeremy J Starcher; 21.02.2013
comment
Для этой цели нужно будет использовать некоторые другие библиотеки (например, jquery) и стилизовать диалоговое окно, чтобы оно выглядело как собственное диалоговое окно js, верно? - person Ivin Jose; 21.02.2013
comment
@goose -- На onbeforeunload -- нет. Ничто другое не может заменить встроенные диалоговые окна. На заказ браузеров вроде как можно было, но оказалось очень проблематично. Люди отказывались позволить вам покинуть страницу или открывали новую вкладку (с тем же материалом), когда вы пытались уйти. Итак, в современных браузерах onbeforeunload возвращает строку, а браузер берет на себя все остальное. - person Jeremy J Starcher; 21.02.2013