Ajax Back, Forward, Reload and PHP 52
IdaAshley writes "A major challenge of Asynchronous JavaScript and XML (Ajax)-driven Web sites is the lack of a Back button. Mike Brittain discusses ways to get around this obstacle in part 1 of the 'Developing PHP the Ajax way' series." From the article: "The Web is a page-by-page medium. The backward and forward buttons on your browser's toolbar direct the browser from page to page. When Macromedia's Flash became all of the rage, developers and users started to see how Rich Internet Applications (RIAs) break this metaphor. You might click around a few sites, land on a Flash-based Web site, then click around in it for a few minutes. One click of the Back button and the ride is over. Rather than going one step backward within the Flash site, you completely lose your place."
Re:The old Slashdot... (Score:4, Informative)
@-moz-document domain(slashdot.org) {
body {
font: 82%/150% Times !important;
}
#contents { margin-left: 0em !important;}
div#links{display:none !important;}
}
To put it simply (Score:4, Informative)
What'll intrigue me is when someone comes up with a way to integrate the back functions of ajax and friendsto work seamlessly with the browser back button. Hmm... someone should do a Firefox extension.
The hardest part would be deciding on a standard API for this.
Re:browsers could support client-specified urls (Score:4, Informative)
Re:Non-news (Score:3, Informative)
Er... already done (Score:5, Informative)
Guess what? Works as expected.
There's nothing magical about making the back and forward buttons work alonsgide AJAX. The way Google does it is to track a uniqke token that associates what your page state is on th ebackend, and pass the token along in an IFRAME every time you do something on the page. Since an IFRAME will work along withh your back/forward buttons, functionality is preserved.
It isn't rocket science. Sites who don't want to do this properly are either designed by people who don't know any better, are lazy, or some combination of the two.
Re:Already been integrated into browser (Score:4, Informative)
Enter an address and hit enter, repeat n times, now use your browser back & forward buttons at will.
Flex has been doing this for a few years and many components support integration with the history manager out-of-the-box. More info here:
http://livedocs.macromedia.com/labs/1/flex20beta3
BTW: Flex 2 SDK is now free as in beer: http://labs.adobe.com/wiki/index.php/Flex:SDK_Ann
Disclaimer: I work for Adobe.
Absolutely correct (Score:3, Informative)
Re:Already been integrated into browser (Score:4, Informative)
http://code.google.com/webtoolkit/ [google.com]
Under "Browser History Management" - "No, AJAX applications don't need to break the browser's back button."
And I'm sure Google's GWT ain't the only library in town to do this...