, . back(), onpopstate , .
$('#search').keyup(Foundation.utils.throttle(function(e) {
var searchField = $('#search').val();
var regex = /[\D]+/;
$('.loader').show();
if (regex.exec(searchField)) {
$.get("getEventsWithVideos.php?text=" + searchField, function(data) {
var stateObj = { type: "getEventsWithVideos", parameter: searchField };
window.history.pushState(stateObj, "get events with videos", "#eventsWithVideos" + searchField);
});
$.get("getClubsWithVideos.php?text=" + searchField, function(data) {
var stateObj = { type: "getClubsWithVideos", parameter: searchField };
window.history.pushState(stateObj, "get clubs with videos", "#clubsWithVideos" + searchField);
});
} else {
$.get("getMembersWithVideos.php?text=" + searchField, function(data) {
$events.empty();
$clubs.empty();
$members.empty();
$membersdeep.empty();
$members.append("<h4>Members</h4>");
var vals = jQuery.parseJSON(data);
var stateObj = { type: "getMembersWithVideos", parameter: searchField };
window.history.pushState(stateObj, "get clubs with videos", "#membersWithVideos" + searchField)
$.get("getVideosDyn.php?membershipno=" + vals['Member']['membership_no'], function(data) {
});
});
}
}, 400));
onpopstate, ajax , .
window.onpopstate = function(e){
if (e.state && e.state.type) {
switch (e.state.type)
{
case "getEventsWithVideos": {
$.get("getEventsWithVideos.php?text=" + searchField, function(data) {});
break;
}
case "getClubsWithVideo":
case "getMembersWithVideos":
}
}
};
plunker, , pushstate URL . Ajax plunker, , .
http://plnkr.co/edit/HJTrW9GyKFduarl75IAd?p=preview