experiment with history.pushState
This commit is contained in:
parent
ae1fff2d90
commit
872e044d6c
|
@ -92,34 +92,44 @@ function refreshhonks(btn) {
|
||||||
btn.parentElement.children[1].innerHTML = " " + lenhonks + " new"
|
btn.parentElement.children[1].innerHTML = " " + lenhonks + " new"
|
||||||
})
|
})
|
||||||
}
|
}
|
||||||
|
function statechanger(evt) {
|
||||||
|
var name = evt.state
|
||||||
|
if (!name) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
switchtopage(name)
|
||||||
|
}
|
||||||
|
function switchtopage(name, evt) {
|
||||||
|
var honksonpage = document.getElementById("honksonpage")
|
||||||
|
var holder = honksonpage.children[0]
|
||||||
|
holder.remove()
|
||||||
|
if (thispagename != "convoy") {
|
||||||
|
honksforpage[thispagename] = holder
|
||||||
|
}
|
||||||
|
thispagename = name
|
||||||
|
holder = honksforpage[name]
|
||||||
|
if (holder) {
|
||||||
|
honksonpage.prepend(holder)
|
||||||
|
} else {
|
||||||
|
honksonpage.prepend(document.createElement("div"))
|
||||||
|
var args = { "page" : name }
|
||||||
|
if (name == "convoy") {
|
||||||
|
var c = evt.srcElement.text
|
||||||
|
args["c"] = c
|
||||||
|
} else {
|
||||||
|
args["topxid"] = topxid[name]
|
||||||
|
}
|
||||||
|
get("/hydra?" + encode(args), fillinhonks)
|
||||||
|
}
|
||||||
|
}
|
||||||
function pageswitcher(name) {
|
function pageswitcher(name) {
|
||||||
return function(evt) {
|
return function(evt) {
|
||||||
if (name == thispagename) {
|
if (name == thispagename) {
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
var honksonpage = document.getElementById("honksonpage")
|
switchtopage(name, evt)
|
||||||
var holder = honksonpage.children[0]
|
var url = evt.srcElement.href
|
||||||
holder.remove()
|
history.pushState(name, "some title", url)
|
||||||
if (thispagename != "convoy") {
|
|
||||||
honksforpage[thispagename] = holder
|
|
||||||
}
|
|
||||||
|
|
||||||
thispagename = name
|
|
||||||
holder = honksforpage[name]
|
|
||||||
if (holder) {
|
|
||||||
honksonpage.prepend(holder)
|
|
||||||
} else {
|
|
||||||
honksonpage.prepend(document.createElement("div"))
|
|
||||||
var args = { "page" : name }
|
|
||||||
if (name == "convoy") {
|
|
||||||
console.log("convoy page")
|
|
||||||
var c = evt.srcElement.text
|
|
||||||
args["c"] = c
|
|
||||||
} else {
|
|
||||||
args["topxid"] = topxid[name]
|
|
||||||
}
|
|
||||||
get("/hydra?" + encode(args), fillinhonks)
|
|
||||||
}
|
|
||||||
return false
|
return false
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -130,10 +140,10 @@ function relinkconvoys() {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
(function() {
|
(function() {
|
||||||
console.log("ok")
|
|
||||||
var el = document.getElementById("homelink")
|
var el = document.getElementById("homelink")
|
||||||
el.onclick = pageswitcher("home")
|
el.onclick = pageswitcher("home")
|
||||||
var el = document.getElementById("atmelink")
|
var el = document.getElementById("atmelink")
|
||||||
el.onclick = pageswitcher("atme")
|
el.onclick = pageswitcher("atme")
|
||||||
relinkconvoys()
|
relinkconvoys()
|
||||||
|
window.onpopstate = statechanger
|
||||||
})();
|
})();
|
||||||
|
|
Loading…
Reference in New Issue