app icon indicating copy to clipboard operation
app copied to clipboard

Using a hash of location for back-button

Open golbin opened this issue 10 years ago • 5 comments

For Android, it's useful and steps are like;

  1. Add a hash on window.location after App.load with data-page name.
  2. 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;
  }
};

golbin avatar Sep 16 '14 02:09 golbin