Не нравятся результаты поиска? Попробуйте другой поиск!
dle-faq.ru FAQ (все вопросы) Общие вопросы Убираем знак # в адресной строке

Убираем знак # в адресной строке


     08.07.2014    Общие вопросы    1886

вопрос
Всем привет столкнулся с проблемой. У меня на сайте на странице есть якорь #reviews по которому можно переместиться к нужнобу блоку. Как сделать редирект или какие еще есть способы убрать знак # из адреса. К пример у человека есть ссылка: сайт.ru/#reviews нужно чтобы человек переходя по этой ссылке попадал на нужный якорь при этом чтобы ссылка превращалась вот такой нормальный вид сайт.ru/reviews.html к примеру. Буду очень признателен за помощь.

P/s пробовал редиректить но что то не выходит

Redirect сайт.ru/reviews.html сайт.ru/#reviews

Ответа пока нет


Комментарии пользователей (4)

ravchik
66

375 | 123

ravchik - 8 июля 2014 21:15 - Юзер

попробуйте добавить в main.tpl следующее
<script type="text/javascript">
$(function() {
    $('a[href^="#"]').click(function () {
        elementClick = $(this).attr("href");
        destination = $(elementClick).offset().top;
        $('body').animate( { scrollTop: destination }, 1100 );
        $('html').animate( { scrollTop: destination }, 1100 );
        return false;
    });
});
</script>

Это не совсем то, что нужно Вам, однако в url не будет отображаться якорь #reviews (или любой другой якорь)

doktorpull
6

98 | 5

doktorpull - 9 июля 2014 09:40 - Юзер

Этот способ у меня уже применен. Он булерает # когда переходись на сайте. Но это не совсем то что мне нужно.

FastFud
50

1599 | 588

FastFud - 8 июля 2014 21:19 - Юзер

Зачем так
$('body').animate( { scrollTop: destination }, 1100 );
$('html').animate( { scrollTop: destination }, 1100 );

Когда можно так:
$('body, html').animate( { scrollTop: destination }, 1100 );

FastFud
50

1599 | 588

FastFud - 8 июля 2014 21:41 - Юзер

К пример у человека есть ссылка: сайт.ru/#reviews нужно чтобы человек переходя по этой ссылке попадал на нужный якорь при этом чтобы ссылка превращалась вот такой нормальный вид сайт.ru/reviews.html к примеру. Буду очень признателен за помощь.

Это не возможно, может наверное если только страницы подгружаются на Ajax но и так я не уверен.

Попробуйте так:
<script type="text/javascript">
$(function() {
    $('.button').click(function () {
        history.pushState(null, null, 'hello.html');
         $('html,body').animate({
        scrollTop: $(".div").offset().top},
        'slow');
        return false;
    });
});
</script>

Чтобы комментировать - войдите или зарегистрируйтесь на сайте

Похожие вопросы