history.back(); doesn't trigger $(document).ready();

Sirber picture Sirber · Sep 2, 2010 · Viewed 30k times · Source

I have a webpage that use $(document).ready() to build the interface. Then the user can go to a child page, and to go back to the original page he can press the browser's "previous" button or a "Return" button in the page which triggers a history.back();. Back on the original page, $(document).ready() is not triggered so the page is missing informations.

is there a way to trigger it automatically like if it was a "real load"?

thank you!

edit

placing an alert in it, the alert is poped but stuff is missing in my interface like if some part of the ready event is missing. Investigating...

edit 2

hahahahaha in document.ready I click some checkbox which are supposed to be unchecked. When I "back" on this page, they are checked so they become unchecked because I reclick them.

Sorry, this is completely my bad :(

Answer

stonyau picture stonyau · Apr 26, 2016

A quick solution to this problem, use "onpageshow" instead.

window.onpageshow = function(event) {
    //do something
};