[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: html5 history
N0ob
Значит вызываю я страницу вот таким вот макаром:
window.history.pushState({uri:pgname}, null, targetLink);
self.loadPage(pgname, self.options);


И ставлю обработчик на случай, если нужно вернуть страницу назад:
window.addEventListener('popstate', function(e){      
var uri = e.state.uri.substr(1);

if(self.modalWindow.length && self.modalWindow)
{
self.closewindow();
}

self.loadPage(uri);

},false);


Выползает вот такая вот ошибка:
Цитата
Uncaught TypeError: Cannot read property 'uri' of null


Строка, на которой она срабатывает:
var uri = e.state.uri.substr(1);


Вообще, данные передаются и я не знаю почему выдает, что переменная пустая
kaww
Предположу, что ошибка только в случае если возвращаешься назад слишком далеко, т.е. на страницу, которую добавил в историю не ты, а браузер
N0ob
kaww но смотри. Нажимаю на ссылку, вызывается этот код:
window.history.pushState({uri:pgname}, null, targetLink);
self.loadPage(pgname, self.options);

То есть добавляю страницу в историю, передаю параметры(данные) с текущей страницы в созданную. И ведь создаю я, а не сам браузер. И вот что делать, не знаю
N0ob
Вот полностью метод, который я инициализирую при стартовом запуске страницы:
	this.init = function ()
{
var self = this;

$('a[class=link]').on('click', function(event)
{
event.preventDefault();

var targetLink = $(this).attr('href');
var pgname = targetLink.substr(1) == "" ? "main":targetLink.substr(1);
var pgname = pgname == window.location.pathname.substr(1) ? null:pgname;

window.history.pushState({uri:pgname}, null, targetLink);
alert(pgname);

self.loadPage(pgname, self.options);

return false;
});


//

window.addEventListener('popstate', function(e){

var uri = e.state.uri.substr(1);

if(self.modalWindow.length && self.modalWindow)
{
self.closewindow();
}

self.loadPage(uri);

},false);
}
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.