app
app copied to clipboard
Using a hash of location for back-button
For Android, it's useful and steps are like;
- Add a hash on window.location after App.load with data-page name.
- When an 'hashchange' event is fired, call App.back.
Then, Android users can use back-button.
Here is a simple implementation.
$(window).on('hashchange', function() {
var hash = window.location.hash;
if (!hash) {
App.back('home');
} else {
var hashName = hash.slice(1);
var pageName = $(App.getPage()).data('page');
if (hashName !== pageName){
App.back(hashName);
}
}
});
// Call after loadPage
App.changeHash = function(page) {
var pageName = $(page).data('page');
if (pageName === 'home') {
window.location.hash = '';
} else {
window.location.hash = '#' + pageName;
}
};