I'm pretty sure the history plug-in works when navigating in a single-page
architecture (hijacking deep links like foo.html#deeplink), but it sounds
like this is an issue related more to the caching of a page in memory. You
may be stuck with forcing the given page not to cache.

Best to do it on the server level with stuff like:

<% Response.CacheControl = "no-cache" %>
<% Response.AddHeader "Pragma", "no-cache" %>
<% Response.Expires = -1 %>

or:

header("Cache-Control: no-cache, must-revalidate");
header("Expires: Mon, 26 Jul 1997 05:00:00 GMT");
header("Pragma: no-cache");

Alternatively you can try to use META tags:

<meta http-equiv="Cache-Control" content="no-cache">
<meta http-equiv="Expires" content="01 Jan 1970 00:00:00 GMT">
<meta http-equiv="Pragma" content="no-cache">

But there are some issues with using META tags. Further reading:

http://support.microsoft.com/kb/234067/EN-US/
http://support.microsoft.com/kb/222064
http://www.hunlock.com/blogs/Mastering_The_Back_Button_With_Javascript#quickIDX4

I looked at the recaptcha site and it looks like for items they do not want
cached they're setting the stuff above at the server level (according to
Firebug). For instance, the image (text.gif) with the two words in it has
the following settings:

Cache-Control: no-store,no-cache,must-revalidate
Pragma: no-cache

Best to play around and figure out what works best for your client/server
environment.

Good luck,
Brian.



On 10/6/07, Josh Nathanson <[EMAIL PROTECTED]> wrote:
>
>
> Forward and back button is a different story...I think there may be a
> plugin
> for that?
>
> -- Josh
>
>
> ----- Original Message -----
> From: <[EMAIL PROTECTED]>
> To: "jQuery (English)" <jquery-en@googlegroups.com>
> Sent: Saturday, October 06, 2007 10:40 AM
> Subject: [jQuery] Re: force page to load content from another page
>
>
> >
> > Thanks for the idea.
> >
> > I tired it by switching my load code out with the code below but still
> > no luck.  When I watch firebug I can see create.cfm be called when I
> > first hit the page, but when I use the forward and back button to hit
> > the page it never calls create.cfm again (until I manually refresh)
> >
> > Here is the .ajax code:
> > $(document).ready(function(){
> >    $.ajax({
> >   url: "create.cfm",
> >   cache: false,
> >   success: function(html){
> >     $("#target").append(html);
> >   }
> > });
> >
> >
> >
> > On Oct 6, 11:29 am, "Josh Nathanson" <[EMAIL PROTECTED]> wrote:
> >> Try using the $.ajax function instead of load (load just does an ajax
> >> get),
> >> with cache param set to false.
> >>
> >> -- Josh
> >>
> >> ----- Original Message -----
> >> From: <[EMAIL PROTECTED]>
> >> To: "jQuery (English)" <jquery-en@googlegroups.com>
> >> Sent: Saturday, October 06, 2007 10:11 AM
> >> Subject: [jQuery] force page to load content from another page
> >>
> >> > I need the page to be forced to load content EACH TIME the page
> >> > loads.  If I do this:
> >> > $(document).ready(function(){
> >> >     $('#target').load('create.cfm');
> >> > });
> >>
> >> > The page will grab the stuff from create.cfm and load it into the div
> >> > as it should.  (Note: Create.cfm contains the current timestamp)
> >>
> >> > The problem is that if I use the back button or forward button and
> >> > come back to the page, when that page is displayed again, the "load"
> >> > function never fires again and thus I see a cached timestamp that is
> >> > not valid.
> >>
> >> > I am looking for a way to FORCE the page to load dynamic content from
> >> > another page, EACH TIME the page is accessed.  A good example of this
> >> > is at:http://recaptcha.net/fastcgi/demo/recaptchato see it in action
> >> > fill out the form incorrectly, then press the back button.  You will
> >> > see that you are not presented with cached content but rather new,
> >> > dynamic content.
> >>
> >> > Any of you guru's out there have any ideas?
> >
>
>

Reply via email to