powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / мелькание страниц при использовании history.js
17 сообщений из 17, страница 1 из 1
мелькание страниц при использовании history.js
    #39169392
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
У меня на сайте страницы, которые частично обновляются аяксом и ссылки на эти станицы выглядят так
автор...
http://localhost:8080/webapp/#2
http://localhost:8080/webapp/#3
http://localhost:8080/webapp/#4
http://localhost:8080/webapp/#5
...
также я подключил history.js (никаких инициализаций не использовал)
проблема возникает, когда я перехожу с аяксовой страницы на неаяксовую страницу (котора обноваляется полностью) и потом возвращаюсь назад по кнопке браузера "назад" - дело втом что браузер сначала показывает первую страницу.

при возращении по кнопке "назад" бразер сначала на мгновение показывает
http://localhost:8080/webapp/#1
а уже потом перескакивает
http://localhost:8080/webapp/#4

функция, которая перехватывает хэши
Код: javascript
1.
2.
3.
$( function() {
    $(window).on('hashchange', refreshByHash);
});



почему проиходит это мелькание? (без history.js браузер не перейдет обратно на #4)
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39169402
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
т.е. я перехожу с
http://localhost:8080/webapp/#4
на
http://localhost:8080/webapp/help.html
и нажимается кнопка бразузера "назад"
дальше происходит как было показано выше
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171310
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rema174,

неужели нихто?

вот пример того, о чем я говорю:
перейдите на страницу 5, перейдите на товар, нажмите кнопку назад в браузере и вас выкинет на первую страницу, а нужно на стр. 5, так понятнее?
http://cvetoland.ru/
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171549
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
я свою историю делал, у меня ничего не мигает.

надеюсь, помог.
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171551
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174перейдите на страницу 5, перейдите на товар, нажмите кнопку назад в браузере и вас выкинет на первую страницу, а нужно на стр. 5, так понятнее?
http://cvetoland.ru/ ну так все правильно, ведь переход на пятую страницу в историю не попадает.
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171628
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariyrema174перейдите на страницу 5, перейдите на товар, нажмите кнопку назад в браузере и вас выкинет на первую страницу, а нужно на стр. 5, так понятнее?
http://cvetoland.ru/ ну так все правильно, ведь переход на пятую страницу в историю не попадает.

т.е. если записывать те страница на которые я перехожу в историю, то должно работать?
ок, например я перехожу так:
...
http://localhost:8080/webapp/#3 //запись в историю
http://localhost:8080/webapp/#4 //запись в историю
http://localhost:8080/webapp/#5 //запись в историю
http://localhost:8080/webapp/help.html

то тогда должно работать?
как делать запись в историю?
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171647
вадя
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Antonariyrema174перейдите на страницу 5, перейдите на товар, нажмите кнопку назад в браузере и вас выкинет на первую страницу, а нужно на стр. 5, так понятнее?
http://cvetoland.ru/ ну так все правильно, ведь переход на пятую страницу в историю не попадает.
тут нет перехода на 5 страницу
и не надо путать понятие страниц
там всё происходит на одной странице
меняются только данные в там где происходит изменение при переходе по кнопкам "страниц" , но это уже не страницы в понимании браузера , это страницы только в сознании наблюдающего.
поэтому никакой истории нет
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171678
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
вадя,
ничего, пусть раскажет как он делает историю, чтобы она потом "подхватывалась" history.js
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171691
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
rema174чтобы она потом "подхватывалась" history.jsхотя она по сути и так подхватывает, только вот показ первой страницы берет непонятно откуда и портит всю картину
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171870
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
вадяAntonariyпропущено...
ну так все правильно, ведь переход на пятую страницу в историю не попадает.
тут нет перехода на 5 страницу
и не надо путать понятие страницстраница списка, итить-колотить! что такое paging у списков тебе известно?
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171871
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174вадя,
ничего, пусть раскажет как он делает историю, чтобы она потом "подхватывалась" history.jsеще раз для особо внимательных: я не использую history.js

а историю я делаю стандартно: клик - history.push.

на странице (браузера, для особо понятливых) я определяю область, которая изменяется при клике, и в хистори пихаю определение этой области (селектор) и хтмл, который должен в ней быть. в событии чтения истории все тривиально: $(селектор).html(хтмл)
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171873
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174rema174чтобы она потом "подхватывалась" history.jsхотя она по сути и так подхватывает, только вот показ первой страницы берет непонятно откуда и портит всю картинупервая страница списка отображается по умолчанию при заходе на сайт, и именно заход попадает в историю, а не первая страница сама по себе. а переход по страницам списка в историю не попадает вообще.
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171874
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174Antonariyпропущено...
ну так все правильно, ведь переход на пятую страницу в историю не попадает.

т.е. если записывать те страница на которые я перехожу в историю, то должно работать?
ок, например я перехожу так:
...
http://localhost:8080/webapp/#3 //запись в историю
http://localhost:8080/webapp/#4 //запись в историю
http://localhost:8080/webapp/#5 //запись в историюэто ты всего лишь меняешь адресную строку. есть ли тут запись в историю, науке не известно. само по себе состояние dom при изменении #-части адреса в историю не пишется, это нужно делать руками.
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39171879
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
собственно, код:

Код: javascript
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
//пишем
    function AddState(state: IState): void {
        if (!state.url) return;
        if (!history.pushState) return;
        history.pushState(state, '', "#" + state.url);
    }

//читаем
    if (window.addEventListener) window.addEventListener('popstate', function (e) {
        if (!e.state) return;
        var st: IState = e.state;
        $(mainContent).replaceWith(st.html);
    }, false);

//что пишем и читаем
export interface IState { html: string; url: string }


в этом проекте изменяемая область одна - mainContent - поэтому ее в историю не пишем.

и нафига тут какой-то мутный history.js?
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39172723
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Antonariy,

history.js оказался не нужен, впрочем как и history api
разрулил теми же средствами как и основной список реализован

но я немного запутался в терминах, например

у меня используется для загрузки ресурсов head.js, так вот из колбек функции я делаю аякс запрос.
так же скрипте,загружаемы head.js, в котором: $(document).ready(function() {...

так вот, когда я тестировал локально, то вывод по окончании работы аякса был ПОСЛЕ вывода из .ready(function(),
а на сервере вывод из аякса ДО вывода из .ready(function()

всвязи с чем вопрос: $(document).ready(function() {... - это окончание прорисовки документа в окне браузера или это документ только готов к рендеру в браузере и пока что не прорисован?
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39172728
rema174
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
уточнение, на сервере, вывод из аякса(в консоль) бывает как до так и после вывода из $(document).ready(function() {...
в связи с чем вопрос остается
...
Рейтинг: 0 / 0
мелькание страниц при использовании history.js
    #39172733
Фотография Antonariy
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
rema174history.js оказался не нужен


rema174всвязи с чем вопрос: $(document).ready(function() {... - это окончание прорисовки документа в окне браузера или это документ только готов к рендеру в браузере и пока что не прорисован?окончание.
все остальное не понял, что такое head.js не знаю.
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / HTML, JavaScript, VBScript, CSS [игнор отключен] [закрыт для гостей] / мелькание страниц при использовании history.js
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]