Форум программистов, компьютерный форум, киберфорум
JavaScript: API
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
2 / 1 / 2
Регистрация: 02.05.2019
Сообщений: 18
1

Window.history.pushState() и кнопка "назад" браузера

15.09.2019, 19:39. Показов 3084. Ответов 0
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Подскажите пожалуйста, как решить такую проблему. На сайте есть статьи и так устроено, что при докручивании скролом до конца одной статьи, через аякс подгружаются новые. И я сделал через JS при помощи pushState, чтобы при этом на каждой новой статье менялся url и записывался в историю браузера. Но получается так, что я листаю, а когда нажимаю на кнопку назад браузера, то оно выкидывает не на статью , что была предыдущей, а на стараницу на которой я был вообще до начала прокручивания статей. А надо, чтобы при нажатии кнопки Назад переходило на страницу статьи , что пролистывалась последней. юрл-лы статей подставляются из атрибутов статей.
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
var currentArticle = null;
function articleHistoryOnScroll(){
  var articles = document.querySelectorAll("article.article-content");
    var articlesLength = articles.length; 
    for(var i=articlesLength-1; i>=0; --i){
      if(articles[i].getBoundingClientRect().top<40){
           if(currentArticle != i){
           currentArticle = i;
           var title = articles[i].getAttribute("data-title");
           var url = articles[i].getAttribute("data-url");
           window.history.pushState({url:url},title,url);
           document.title = title;
         } 
         break;
      }
    }  
}
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.09.2019, 19:39
Ответы с готовыми решениями:

Кнопка Назад в history.api
Привет. Есть код,который подгружает аяксом контент. Прикрутил к нему history.api.Всё работает. Но...

Ошибка с history.pushState
Здравствуйте! Делаю сервис на ajax jQuery, при навигации идет изменение URL в адресной строке при...

Как проверить поддерживает ли браузер history.pushState
Возможно ли проверить поддерживает ли браузер history.pushState то есть HTML5 ?

Window.history.go(-1);
Здравствуйте. Подскажите, как сделать, чтобы при клике на стрелочку назад в браузере, происходил...

0
15.09.2019, 19:39
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
15.09.2019, 19:39
Помогаю со студенческими работами здесь

Почему в Opera v12.0 координаты окна браузера относительно экрана window.screenX или window.screenY выдает 0?
Здравствуйте, подскажите пожалуйста почему в Opera v 12.0, координаты окна браузера относительно...

Методы history.pushState() и history.replaceState() введены в HTML5 для облегчения фишинга?
Вот здесь об этом: https://developer.mozilla.org/ru/docs/Web/API/History_API Получается, при...

History.pushstate, будь он неладен
Привет. Не могу разобраться никак с history.pushState чтобы она работала относительно корня сайта....

Параметр history.pushState найти ошибку
В JS, мягко говоря, не разбираюсь. Да и вообще в программировании не профи. Помогите, пожалуйста,...

Есть кнопка назад и вперед, кнопка назад работат до первого элемента и заново не двигается с конца
Написал код для кнопки назад таким образом: &lt;a class=&quot;btn btn-primary btn-flat send&quot;...

PushState - не восприимчивость кнопки "назад" в браузере
Собственно изчаю то что упустил когда то, всякие полезные мелочи.. написал обработчик pushState...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
1
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru