Не работает замена хэш-тэга
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, время: 14:38. |