Не работает замена хэш-тэга
HTML:
<a name='duels'></a><fieldset> <legend><h3>Duels:</h3></legend> ... JS: window.location.hash = '#duels'; window.location.reload(true); Строчка появляется в адресе страницы, браузер страницу обновляет, но не сдвигает страницу в нужное место. Подскажите кто-нибудь, в чём дело? |
Григорий Данилович,
у вас какой-то замкнутый круг - бесконечная перезагрузка. |
Профессор,
то есть вы говорите, что window.location.hash = '#duels';уже перезагружает страницу? |
Цитата:
и снова и снова |
Григорий Данилович,
или так с перезагрузкой <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> [name='duels'] { margin-top: 2500px; display: block; } </style> </head> <body> <a name='duels'></a><fieldset> <legend><h3>Duels:</h3></legend></fieldset> <script> var hash = window.location.hash ; if(hash != '#duels') { window.location.hash = '#duels'; window.location.reload(true);} </script> </body> </html> или без перезагрузки <!DOCTYPE HTML> <html> <head> <title>Untitled</title> <meta charset="utf-8"> <style type="text/css"> [name='duels'] { margin-top: 2500px; display: block; } </style> </head> <body> <a name='duels'></a><fieldset> <legend><h3>Duels:</h3></legend></fieldset> <script> var hash = window.location.hash ; if(hash != '#duels') { window.location.hash = '#duels'; document.querySelector("[name='duels']").scrollIntoView() } </script> </body> </html> |
Понял. У меня функция reload вызывается внутри другой функции, так что, наверное, постоянной перезагрузки не происходит.
тем не менее, вы дали мне пищу для размышления. Спасибо. Кроме того document.querySelector("[name='duels']").scrollIntoView()похоже решит мою проблему. Спасибо за это тоже. |
Кроме того, я понял, что перезагружать страницу - мне совсем не нужно - достаточно уничтожить записть в таблице (после очистки БД) и сделать scrollView.
Спасибо |
Часовой пояс GMT +3, время: 03:22. |