Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   HTML5 History (https://javascript.ru/forum/events/25991-html5-history.html)

alexandr_v-vich 21.02.2012 23:10

HTML5 History
 
Кто-нибудь! Пожалуйста! Я умираю, неделю туплю - ответов найти негде!
Проясните, пожалуйста ситуацию с history API в HTML5.
Как я понимаю на сегодня, есть 2 основных момента:
1) history.pushState
2) XMLHttpRequest

Правильно ли я понимаю...
pushState - для изменения адресной строки (если узко, не принимая во внимания popstate)
XMLHttpRequest - для изменения контента....или как?

Простой пример:
2 страницы с 2мя разными картинками и 2мя разными текстами. В итоге необходимо:
1. Изменение адресной строки без загрузки новой страницы
2.1. Изменение картинки (картинка вставляется с новой страницы) (как понимаю здесь нужен responseText)
2.2. НЕизменение текста. Т.е. текст с прошлой страницы должен остаться тотже.
<script type="text/javascript">


window.onload = function() {
	var l = document.getElementById('linken');
	l.addEventListener("click", function(event) {
		history.pushState(null, null, l.href);
		event.preventDefault();
	}, true);
};

</script>

<a href="htm.htm" id="linken">Next</a>
<img src="imgone.jpg" id="imgs" />
<p id="textone">FirstText</p>



Всё перелопатил, ночами не сплю, выручите пжл, я не знаю что думать...pushState мне меняет строку, но только! если такая страница действительно существует и при этом в исходном коде (в браузере) пишет новую страницу, хоть и отображает старую....
изменить картинку ч.з. responeText у меня не выходило....я, правда не понимаю толком зачем вообще нужен здесь XMLHttpRequest.....???

da_ff 22.02.2012 16:22

У вас некторые пробелы в знаниях. Добавленные средства только позволяют создавать новый след в истории переходов без самого перехода и ловить события. Сделано это как я понимаю, по причине того, что хэш страницы который популярно использовать для хранения состояния не отправляется на сервер.
Что делать в зависимости от значения адреса решать вам.

alexandr_v-vich 23.02.2012 11:45

Ну пробелы это слишком мягко, потому, вообщем, и обратился за помощью....Просто в теории всё понятно, логично и просто, на практике ничего не выходит...

Ну вопросы вообщем ещё актуальны...

devote 23.02.2012 15:20

http://javascript.ru/forum/project/2...lacestate.html

alexandr_v-vich 23.02.2012 23:06

=)
Мне бы для "поддерживающих" сначала разобраться)
Да и видел я это...в виду имею..

Magneto 23.02.2012 23:34

Управление историей для пользы и развлечения

alexandr_v-vich 24.02.2012 00:29

Бился 4 дня над этим примером. С него, собственно, и начал...

В итоге полностью перекопировал страницы, фото, скрипт себе и.... - обычные переходы по ссылкам-ничего не работает...(

alexandr_v-vich 26.02.2012 20:05

Решён вопрос))
Видимо для программистов эти вещи слишком очевидны, просто XMLHttpRequest без сервера не работает, т.е. адрес типа file:// не канает......
щас заработало, появились, правда, другие проблемы, но уже нормальные)


Часовой пояс GMT +3, время: 05:08.