The issues don't occur with $.mobile.pushStateEnabled = false;.
$.mobile.pushStateEnabled = false;
Although the behaviour is a bit different this seems to be the same issue as reported for iOS6 #5401
Two issues with Opera Desktop 12.11 & 12.12:
The scenario described by @jerone can be generalized as follows:
Given a history of pages a -> b -> c -> d -> e, if you go back d <- e, the location changes but the page does not. If you then go back again (c <- d) and again (b <- c), and again, until you're supposed to be back on a, you will find that it works. Only the first backwards step is broken.
Behind the scenes, the first backwards step does not result in a "navigate" event (to which the function _handleHashChange is attached, which ultimately changes the page), whereas subsequent backwards steps do result in a "navigate" event.
I'll take a look too. My guess is that one of the locks isn't disabled or similar.
FWIW, Opera/Linux does not trigger a popstate event when clicking a link to a perfectly normal page whereas Chrome/Linux does.
address browsers that don't fire popstate on hash assignment Fixes #5414
Would either of you mind verifying this works in your environments?
I tested latest on Opera and IE10 and I cannot longer reproduce the issue. Great!