Поймайте переход по ссылке
Сделайте так, чтобы при клике на ссылки внутри элемента id="contents" пользователю выводился вопрос о том, действительно ли он хочет покинуть страницу, и если он не хочет, то прерывать переход по ссылке.
Так это должно работать:
Детали:
- Содержимое
#contentsможет быть загружено динамически и присвоено при помощиinnerHTML. Так что найти все ссылки и поставить на них обработчики нельзя. Используйте делегирование. - Содержимое может иметь вложенные теги, в том числе внутри ссылок, например,
<a href=".."><i>...</i></a>.
Это – классическая задача на тему делегирования.
В реальной жизни мы можем перехватить событие и создать AJAX-запрос к серверу, который сохранит информацию о том, по какой ссылке ушёл посетитель. Или мы можем загрузить содержимое и отобразить его прямо на странице (если допустимо).
Всё, что нам необходимо, это поймать событие contents.onclick и использовать функцию confirm, чтобы задать вопрос пользователю. Хорошей идеей было бы использовать link.getAttribute('href') вместо link.href для ссылок. Смотрите решение в песочнице.