Improved url / hash change handling
This commit is contained in:
parent
61f951a33e
commit
490e56bfbb
1 changed files with 12 additions and 4 deletions
|
@ -53,14 +53,18 @@ function onHashChange(ev) {
|
||||||
}
|
}
|
||||||
|
|
||||||
var loaded = false;
|
var loaded = false;
|
||||||
|
var lastLoadedScreen = null;
|
||||||
|
|
||||||
// This will be called whenever the SDK changes screens,
|
// This will be called whenever the SDK changes screens,
|
||||||
// so a web page can update the URL bar appropriately.
|
// so a web page can update the URL bar appropriately.
|
||||||
var onNewScreen = function(screen) {
|
var onNewScreen = function(screen) {
|
||||||
if (!loaded) return;
|
if (!loaded) {
|
||||||
|
lastLoadedScreen = screen;
|
||||||
|
} else {
|
||||||
var hash = '#/' + screen;
|
var hash = '#/' + screen;
|
||||||
lastLocationHashSet = hash;
|
lastLocationHashSet = hash;
|
||||||
window.location.hash = hash;
|
window.location.hash = hash;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
// We use this to work out what URL the SDK should
|
// We use this to work out what URL the SDK should
|
||||||
|
@ -85,5 +89,9 @@ window.addEventListener('hashchange', onHashChange);
|
||||||
window.onload = function() {
|
window.onload = function() {
|
||||||
routeUrl(window.location);
|
routeUrl(window.location);
|
||||||
loaded = true;
|
loaded = true;
|
||||||
|
if (lastLoadedScreen) {
|
||||||
|
onNewScreen(lastLoadedScreen);
|
||||||
|
lastLoadedScreen = null;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue