Stack Overflow на русском Asked by trollDemiurg on January 1, 2022
document.location.href = '/home';
console.log('before');
document.onload = function(){
setTimeout(function(){
console.log('fancy')}, 30000);
};
console.log('after');
в консоли:
before
after
XHR finished loading: GET "https://-------/home".
Navigated to https://------/home
После редиректа setTimeout не работает, ищу совета. Вместо document.onload = function()… просто setTimout тоже к консоль не пишет.
Можно реализовать загрузку и подмену контента, по аналогии с SPA (Single Page Application).
console.log('before');
let destination = "/home";
fetch(destination).then((response) => response.ok && response.text().then((html) => {
window.history.pushState({}, "", destination);
document.getElementsByTagName('html')[0].innerHTML = html;
setTimeout(() => {
console.log('fancy')
}, 30000);
}));
console.log('after');
Answered by renich on January 1, 2022
Когда загружается новая страница, браузер уже не помнит, что было запущено на предыдущей. Один из вариантов решения:
Вместо /home, направить на адрес с каким-нибудь параметром:
document.location.href = '/home?l=0';
И уже на home заранее подготовить скрипт,
let fn_storage = {
"0": function() {
console.log("code ?l=0");
},
"moo": function() {
console.log("code ?l=moo");
},
};
let key = ( window.location.search.match(/l=(.*?)(&|$)/) || [0,0] )[1];
if (key) setTimeout(fn_storage[key], 5000);
Еще, можно использовать localStorage, sessionStorage
Answered by OPTIMUS PRIME on January 1, 2022
Вы редиректите страницу а на старой поставили setTimeout(...); Что вы хотите увидеть она даже если и загрузилась ее уже нет к тому времени.
Если вы хотите запустить скрипт на новой странице. Это будет делать та самая страница и ее скрипт либо делайте как все SPA подгружаете контент и обрабатываете.
Вон подкатили ответ снизу.
Answered by Aziz Umarov on January 1, 2022
1 Asked on December 2, 2020 by total-pusher
1 Asked on December 2, 2020 by nevereverlie
1 Asked on December 2, 2020 by yanshun
1 Asked on December 2, 2020 by ezh
2 Asked on December 1, 2020 by tawer768
1 Asked on December 1, 2020
1 Asked on December 1, 2020 by user388794
csv dataframe pandas python %d0%bf%d0%b0%d1%80%d1%81%d0%b5%d1%80
1 Asked on December 1, 2020 by andrey
laravel php sql %d0%b1%d0%b0%d0%b7%d0%b0 %d0%b4%d0%b0%d0%bd%d0%bd%d1%8b%d1%85 %d0%bf%d1%80%d0%be%d0%b5%d0%ba%d1%82%d0%b8%d1%80%d0%be%d0%b2%d0%b0%d0%bd%d0%b8%d0%b5
1 Asked on December 1, 2020 by alexandr_tt
1 Asked on November 30, 2020
0 Asked on November 30, 2020 by rakzin-roman
2gis api google maps api javascript %d0%ba%d0%b0%d1%80%d1%82%d1%8b
1 Asked on November 30, 2020 by kent
1 Asked on November 30, 2020 by sturmer
Get help from others!
Recent Questions
Recent Answers
© 2023 AnswerBun.com. All rights reserved. Sites we Love: PCI Database, UKBizDB, Menu Kuliner, Sharing RPP