Есть ли способ иметь обратный вызов onload после изменения window.location.href?
По сути, я хотел бы сделать это:
window.location.href = "some_location";
window.onload = function() {
alert("I'm the new location and I'm loaded!");
};
Есть ли способ иметь обратный вызов, когда загружается новое местоположение окна? (Вышеприведенный код не работает.)
Ответы
Ответ 1
Нет, вы не можете сделать это так, как хотите. Загрузка новой страницы закрывает текущий документ и начинает загрузку нового документа. Любой код в текущем документе больше не будет активен, когда новая страница начнет загружаться.
Чтобы иметь обработчик события при загрузке нового документа, вам нужно либо вставить код в документ новой страницы, либо загрузить новый документ в iframe и контролировать загрузку iframe из вашего текущего документа.
Ответ 2
Настройка window.location.href для нового значения указывает браузеру просто перейти на следующую страницу.
Так же:
window.location.href = "http://www.google.com/";
Как только браузер перейдет на страницу google.com, ваш Javascript больше не будет выполняться, и вам не будет никакого обратного вызова, потому что браузер больше не запускает вашу страницу.
Итак, ответ - нет.