Използвам History.js и Jquery (и малко GWT), използвам метода History.pushState() за съхраняване на полезния товар на Ajax, след което в събитието statechanged рисувам екрана според полезния товар. Сега в моето приложение бутоните за връщане назад и напред на браузъра работят правилно.
Странното е, че когато потребителите щракнат върху връзка в моето приложение, която ги отвежда до страница, която е извън моето приложение (същия домейн, но друго приложение), те излизат, преглеждат страницата, след което натискат бутона за връщане назад, за да влязат отново в моето ап.
Приложението ми се зарежда, не получава popstate или събитие за промяна на състоянието, но по някакъв начин браузърът всъщност рисува екрана, за да прилича точно на това, което изглеждаше, преди да напуснат приложението ми.
Бих искал да разбера какво се случва тук.
[РЕДАКТИРАНЕ: Сгреших. Кодът ми се изпълняваше и получих промяната на състоянието. Имах някои предположения относно History.js и сега разбирам, че за да кодирате правилно, трябва да получите своя AJAX полезен товар, след което да извикате pushstate, за да го поставите в стека. Тогава вашето събитие за промяна на състоянието ще се активира и вие трябва във функцията за промяна на състоянието да прочетете състоянието от стека и да нарисувате екрана съответно. Същият код ще се изпълни, когато стартирате приложението си нормално, и същият код ще се изпълни, когато потребителят натисне бутона за връщане назад. ]