Мне нужен способ привязать некоторую предварительную обработку к каждому присваиванию window.location. Есть ли способ сделать это. Мне в основном нужно сериализовать некоторую информацию, которая будет использоваться в новом месте.
Javascript: как перехватить изменение window.location
Ответ 1
Вы можете использовать событие beforeunload
, чтобы запустить ваш код до начала навигации... Если вам нужно что-то более конкретное (например, только инициированные в вашем коде навигации), то я рекомендую вам разложить код, изменяющий window.location
на отдельную функцию, и добавить крючок для вашей пользовательской логики.
Ответ 2
Возможно, вам стоит взглянуть на пост Бена Надела в отношении этого, это может быть именно то, что вы ищете
Связывание событий с объектами без DOM с jQuery
В его примере в сообщении говорится о создании обработчика событий, который запускает событие изменения, когда window.location
изменяет