2015-03-29 5 views
0

У меня есть страница, которая загружает DIV с различным контентом, когда я нажимаю ссылку.Hash Navgation w/Ajax load

function getAjax(myID,file,room){ 
    room = typeof room !== 'undefined' ? room : 0; 
    var myResult; 
    var raNum = Math.floor((Math.random() * 100) + 1); 
    $.ajax({ 
     type: "POST", 
     cache: false, 
     async: false, 
     url: '<?php echo PATH;?>ajax/'+file+'.php?num='+raNum+'&lang=<?php echo $_SESSION['lang'];?>', 
     data: {"id": myID, "room": room}, 
     success: function(data){ 
      window.location.hash = "TEST"; 
      if ($('.infowin').css('visibility') === 'visible' && file != 'infowin') { 
       $('.infowin').hide(); 
       $('.hName').html('<?php echo RN_FE_TOP_INFOWIN_LOAD;?>...').removeClass('green').removeClass('orange'); 
       $('.infoWinContent').html(''); 
       $('.awards').html(''); 
      } 
      myResult = data; 
     }, 
     error: function(data, errorThrown){ 
      console.log('request failed :'+errorThrown); 
     } 
    }); 
    return myResult; 
    } 

Связь:

$('.mReservation').on('click', function(e){ 
     var raNum = Math.floor((Math.random() * 10000) + 1); 
     e.preventDefault(); 
     var hotel_id = "0"; 
     var getPage = getAjax(hotel_id,"cancel"); 
     $("#all-content").html(getPage).css("overflow-y","auto"); 
    }); 

Когда я нажал на кнопку НАЗАД браузера, он всегда будет идти на предыдущую страницу. Есть ли способ заставить кнопку «отменить» последний вызов ajax jquery? Я читал кое-что о #hashnavigation поэтому я добавил это на функцию успеха АЯКС»:

window.location.hash = "TEST"; 

Он добавит #test к URL, но попав назад теперь только результаты в удалении хэш. Есть ли способ достичь этого в jquery?

ответ

0

API истории имеет функции, позволяющие манипулировать историей просмотра на вашем сайте. Хэш-маршруты - это способ управления содержимым сайта без обновления страницы. Когда хеш-страница url обновляется, на страницу загружается новый контент. Есть библиотеки для этого, и они используют API истории. Некоторые библиотеки, которые вы можете изучить, описаны here.