Существует ли способ поймать событие кнопки "Назад" в JavaScript?

Исходя из существующих ответов на этот пост, это упрощает реализацию:)

namespace System
{
    public static class BaseTypesExtensions
    {
        /// <summary>
        /// Just a simple wrapper to simplify the process of splitting a string using another string as a separator
        /// </summary>
        /// <param name="s"></param>
        /// <param name="pattern"></param>
        /// <returns></returns>
        public static string[] Split(this string s, string separator)
        {
            return s.Split(new string[] { separator }, StringSplitOptions.None);
        }


    }
}
55
задан Steven Noble 25 September 2008 в 23:45
поделиться

4 ответа

Используйте hashchange событие:

window.addEventListener("hashchange", function(e) {
  // ...
})

, Если необходимо поддерживать более старые браузеры, проверьте hashChange раздел Event в Перекрестных Полизаливках Браузера HTML5 Modernizr страница Wiki.

29
ответ дан Jonny Buchanan 7 November 2019 в 17:30
поделиться

Я создал решение , которое может быть полезно некоторым людям. Просто включите код на свою страницу, и вы можете написать свою собственную функцию, которая будет вызываться при нажатии кнопки «Назад».

Я тестировал в IE, FF, Chrome и Safari, и все работают. Решение, которое у меня есть, работает на основе iframe без необходимости постоянного опроса в IE и FF, однако из-за ограничений в других браузерах хеш местоположения используется в Safari.

12
ответ дан 7 November 2019 в 07:30
поделиться

onLocationChange может также быть полезным. Не уверенный, если это - вещь только для Mozilla, хотя, появляется, что это могло бы быть.

1
ответ дан pix0r 7 November 2019 в 17:30
поделиться

Вы смотрели на это? http://developer.yahoo.com/yui/history/

1
ответ дан powtac 7 November 2019 в 17:30
поделиться
Другие вопросы по тегам:

Похожие вопросы: