Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.04.2012, 10:38
Кандидат Javascript-наук
Отправить личное сообщение для vuler Посмотреть профиль Найти все сообщения от vuler
 
Регистрация: 16.02.2012
Сообщений: 109

Вопрос по window.history.replaceState не работает кнопка Назад
При применении window.history.replaceState или pushState меняется адресная строка в браузере, но кнопка назад не хочет работать, хотя в документации написано, что pushState якобы меняет историю и можно будет гулять по url. Но что-то это не работает :-(
Ответить с цитированием
  #2 (permalink)  
Старый 17.04.2012, 11:41
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

смотря как вы это используете... читайте мою подпись, там есть ссылка на расширение истории для старых браузеров... но и пример того как работает history.pushState там тоже найдете.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #3 (permalink)  
Старый 17.04.2012, 12:23
Кандидат Javascript-наук
Отправить личное сообщение для vuler Посмотреть профиль Найти все сообщения от vuler
 
Регистрация: 16.02.2012
Сообщений: 109

Сейчас почитаю, но делаю все примерно так:
$(document).ready(function() {
//..много кода

$(document).on('click', '.pages_select', toggle_page);

function toggle_page()
{
//..много кода
window.history.pushState(null, null, "http://сайт.ru/index.php?page4");
$.ajax({ type: 'POST', url: '../module/firm_catalog_tasks.php',
	data: {firm_id:firm_id,page:page, task:"next_page"},
						   success: function(data)
						   {
						   comments_block.html(data);
						   //тут меняется часть содержимого страницы
						   }
			 });
}

//..много кода
})
Ответить с цитированием
  #4 (permalink)  
Старый 17.04.2012, 12:44
Кандидат Javascript-наук
Отправить личное сообщение для vuler Посмотреть профиль Найти все сообщения от vuler
 
Регистрация: 16.02.2012
Сообщений: 109

нужно вроде как-то использовать popstate с setTimeout-ом, но вот куда его не подкручиваю все равно не хочет пахать, может кто дополнить код, как это должно быть?
Ответить с цитированием
  #5 (permalink)  
Старый 17.04.2012, 13:12
что-то знаю
Отправить личное сообщение для devote Посмотреть профиль Найти все сообщения от devote
 
Регистрация: 24.05.2009
Сообщений: 5,176

вы о чем? какие setTimeout'ы тут? событие popstate срабатывает тогда когда пользователь жмет в браузере кнопки назад/вперед. Не надо никаких таймаутов, просто вешайте событие и при его срабатывании подгружайте то что нужно.. По ссылке что я описал выше, есть пример того как это делается на jQuery. Причем описано на русском языке.
__________________
хм Russians say завтра but завтра doesn't mean "tomorrow" it just means "not today."
HTML5 history API рассширение для браузеров не поддерживающих pushState, replaceState
QSA CSS3 Selector Engine
Ответить с цитированием
  #6 (permalink)  
Старый 17.04.2012, 16:51
Кандидат Javascript-наук
Отправить личное сообщение для vuler Посмотреть профиль Найти все сообщения от vuler
 
Регистрация: 16.02.2012
Сообщений: 109

Ну в общем никак с этой темой не разберусь
Вначале оказалось что фаер фокс тупил и не записывал в хистори урл с решетками. Хром - все записывал нормально. Поправил все это дело через %23.
Теперь уже тупит Хром. Фаер фокс всю историю сохраняет и событие popstate обрабатывает нормально, а хром начинает циклично обновлять старницу.
Вот обработчик события:
window.onpopstate = function(e) {
    window.location = location.href;
}

где-то про таймауты писали, тоже их не хочет понимать, в цикле производит обновления и все. в Фаер фоксе все гуд. Как можно это исправить?
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
не работает форма в окне, вызванном jquery page slide ikar jQuery 0 31.07.2011 22:55
JS работает в Опере, Хроме и Сафари, и не работает в IE & Mozilla Aliena Javascript под браузер 5 04.12.2010 08:15
скрипт работает в IE не работает в Opera!!! Ikram Opera, Safari и др. 3 29.10.2010 10:04
$('#id') не работает для некоторых элементов tmvrus jQuery 10 12.10.2010 15:45
помогите найти ошибку (работает в IE но не работает в Firefox) Len4ik Javascript под браузер 2 11.05.2010 15:41