I'm detecting the back button this way:
window.onload = function () {
if (typeof history.pushState === "function")
{
history.pushState("jibberish", null, null);
window.onpopstate = function ()
{
history.pushState('newjibberish', null, null);
// Handle the back (or forward) buttons here
// Will NOT handle refresh, use onbeforeunload for this.
};
}
It works, but I have to create a cookie in Chrome to detect that I'm on the page the first time, because when I enter the page without control by a cookie, the browser does the back action without clicking on any back button.
if (typeof history.pushState === "function")
{
history.pushState("jibberish", null, null);
window.onpopstate = function () {
if (((x = usera.indexOf("Chrome")) != -1) &&
readCookie('cookieChrome') == null)
{
addCookie('cookieChrome', 1, 1440);
}
else
{
history.pushState('newjibberish', null, null);
}
};
}
And very important, history.pushState("jibberish", null, null);
duplicates the browser history.
How can I fix it?