Slashdot Mirror


Ajax Back, Forward, Reload and PHP

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."

2 of 52 comments (clear)

  1. To put it simply by Kesch · · Score: 4, Informative

    All it does is create a history stack then store it as a cookie. The history is then used to power the back button in whatever the application is.

    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.

    --
    If this signature is witty enough, maybe somebody will like me.
  2. Er... already done by brunes69 · · Score: 5, Informative

    Ever use GMail? Next time you're ina folder hit your back button.

    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.