Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 13.07.2020, 12:28
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Не получается history.api
Привет.Пытаюсь использовать данную фичу. Образец подсмотрел тутhttps://javascript.ru/blog/pharrell/ajax-history-api
Но что то не хочет данные обновлять при переходе назад в браузере.
function Ch_Service(obj){
	
	let slug = $(obj).attr('href');
	$.ajax({
	    url: '/appointment/index',
		type: "POST",
		data: {'uri':slug},
		success: function(data){
			if(data != ""){
				$("article").html(data);
				 history.pushState(null,null,slug);
			}
		}
	});
	return false;
}


window.onload=function(){
 
window.setTimeout(function() {
window.addEventListener("popstate",
 function() {
Ch_Service(location.pathname);
}, 
false);
	}, 1);

}

Выдаёт ошибку
Uncaught Error: Syntax error, unrecognized expression: /appointment
/appointment в данном случае,это location.pathname
Подскажите как правильно.
Ответить с цитированием
  #2 (permalink)  
Старый 13.07.2020, 13:30
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Частично разобрался.
function Ch_Service(obj){
	
	let slug = $(obj).attr('href');
	getContent(slug);

	return false;
}

function getContent(slug){
	
		$.ajax({
	    url: '/appointment/index',
		type: "POST",
		data: {'uri':slug},
		success: function(data){
			if(data != ""){
			 history.pushState(null,null,slug);
				$("article").html(data);
				
			}
		}
	})
	
}
window.addEventListener("popstate", function(e) {
	       getContent(location.pathname, false);
	    });

Теперь только на один шаг переходит назад.
Ответить с цитированием
  #3 (permalink)  
Старый 13.07.2020, 21:07
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

В общем разобрался.Всё работает. Остался один вопрос. Как это
window.addEventListener("popstate", function(e) {
	       getContent(location.pathname, false);
	    });

привязать к кнопки.
<button id="goback">Back</button>

Ну никак не выходит.
Ответить с цитированием
  #4 (permalink)  
Старый 14.07.2020, 07:57
Профессор
Отправить личное сообщение для ureech Посмотреть профиль Найти все сообщения от ureech
 
Регистрация: 11.03.2013
Сообщений: 765

Великое, в простом).
<button id="goback" onclick="history.go(-1)">Назад</button>

Спасибо мне).
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Не получается изменить цвет шрифта hardway jQuery 2 23.08.2017 14:06
Не получается адаптировать код pricebody Общие вопросы Javascript 2 18.03.2016 20:03
Не получается прикрутить wysiwig Bloiv AJAX и COMET 1 22.06.2012 20:52
dataTables + jeditable не получается сделать поля редактируемыми alekslkta Элементы интерфейса 0 02.05.2011 16:17
dataTables + jeditable не получается сделать поля редактируемыми alekslkta jQuery 0 01.05.2011 23:53