Я использую AJAX для обновления контента на страницах и поэтому пытаюсь использовать API истории в HTML5.У меня это работает нормально во всех браузерах, кроме Google Chrome.Следующий код -
/**
* Reloads the ajax content if the history.state is not null
*/
window.onpopstate = function(e){
if(e.state !== null){
initiate_load_updated_page(window.history.state.ajax_string, window.history.state.security, 0)
}
}
Выдает эту ошибку -
Uncaught TypeError: Cannot read property 'ajax_string' of undefined
Вот код, который я использую для pushState()
-
/** Update the page history */
if(window.history.replaceState){ // Check for HTML5 support
if(update_state !== 0){
var object = {
ajax_string: ajax_string,
security: security,
};
window.history.pushState(object, title, permalink);
}
}
У меня естьВ другом месте читайте, что Google Chrome дважды запускает событие onPopState()
, но я не уверен, является ли это проблемой здесь, и, если она есть, как ее решить.
Спасибо.