Я отключил все JS файлы от сайта. Результат тот же, но я заметил одну особенность. Если я наберу в адресной строке адрес страницы, в которой располагаются эти ссылки, и перейду по ней, то онклик срабатывает. А если я перейду по ссылке на эту страницу(эта страница так же грузиться html5 history), то онклик не срабатывает. Может проблема в коде?
$(document).ready(function(){
var thisUri = location.href;
$('a').on('click', function(event){
event.preventDefault();
targetLink = $(this).attr('href');
history.pushState({uri:targetLink}, null, targetLink);
loadPage(targetLink, thisUri);
});
history.replaceState({uri:thisUri}, null, thisUri);
$(window).bind('popstate', function(event) {
loadPage(history.state.uri, thisUri);
});
function loadPage (pagename, thisUri)
{
alert("Load");
var search = window.location.search.substr(1);
pagename = window.location.pathname.substr(1);
var vars = search.split("&&");
var get = "";
if(vars.length)
{
get = new Array();
for(var i=0;i<vars.length;i++)
{
var var1 = vars[i].split("=");
get[var1[0]] = var1[1];
}
}
var pageMatches = pagename.match(/#(video|photo|album)\-([0-9])+$/);
var options;
if(!pageMatches)
{
if(pagename == "" || pagename == "/")
{
pagename = "main";
}
$.ajax({
url : "/engine/ajax/loadPage.php",
type : "POST",
async : true,
dataType : "json",
data: {"pageName":pagename, "options":get},
success: function (data) {
if(data.success == true && data.load == true)
{
$('.content').html(data.content);
$('title').html(data.title);
currentUrl = thisUri;
}
else
{
alert("Страница "+pagename+" не существует");
}
},
error: function (a, b) {
alert("Ошибка: " + a.responseText);
}
});
}
}
});