Hi Gavin, initially let's work from the premise that this only happens in IE8
and probably isn't CF related. I can't offer a solution straight up but here's
a few things to try;
* Check the IE cache settings; ensure it's set to 'check every time' and not
'automatically'
* Try setting the no-cache headers on your webserver or by using cfheader
instead of using meta
* Try running IE8 in IE7 'compatability mode' and see if it makes a difference
* Add logging to your OnSessionStart handler to check exactly how often
sessions are started. You probably don't want to see multiple sessions
starting per user.
* Similarly, when you experience the caching problem, have you confirmed
whether your CF code is being executed on every request? Logging in
OnRequestStart should confirm this or not. Or use something like HTTPWatch to
confirm the problematic requests are indeed cached (return code 304 I think?)
* Question; do you have J2EE sessions turned on or off? If off, sessions will
live on between browser restarts
Whoops. Almost missed my tram stop. Cya.
On 13/05/2011, at 9:10 PM, Gavin Baumanis beauecli...@gmail.com wrote:
OK,
Here is some more information as requested by Mr Buzzy in another
thread;
Assume this is our layout.
http://www.positioniseverything.net/explorer/images/pict1.gif
When you click on a link in the LHS navigation bar, the main content
is updated to reflect the choice you made.
The main content 'container' is an iframe, not a HTML DIV.
We are using Jericho Tabs / jQuery for the UI;
http://www.ajaxplaza.net/jerichotab/jerichotab.htm
Now you get to this layout by first making a choice from a search
screen.
Let's assume you are searching for users.
As part of the 'action' page from making a choice at the search screen
a session variable is set.
session.userid
Now, practically everywhere in the application is;
run this SQL where userid = #session.userid#...
update this table where userid = #session.userid...
etc
So;
1) you're at the search screen and have chosen a user to edit /
whatever - User A -
2) session.userid = #url.userid# - happens in the action page.
3) you are redirected to a page.
4) you do stuff, where everything is based on #session.userid#
Now this is where things get interesting...
5) you go back to the search screen, choose a user- User B - go back
to step (2).
6) the content iframe - does NOT show the details for User B. But it
shows the content for user A.
This only happens in IE.
It does not happen with gecko-based browsers.
I have found this - which seems to be what is our issue;
http://social.msdn.microsoft.com/Forums/en-US/iewebdevelopment/thread/076fb93e-cb8d-45fa-8a3d-8498ddbbada6/
But the solution in the thread does not work for us.
We are considering getting rid of the session.userid for
request.userid - but it isn;t quite as simple as search / replace.
We are also thinking of changing from the iframe back to a HTML DIV -
but that is problematic for all the javascript / UI control stuff we
have already built to work with the iframe..
So the short answer is - we have some options - but they seem to
require a real lot of work - to fix a problem that only exists in IE.
Thus, my other thread about design patterns...
Because if I am going to rebuild it - well I want to make sure that I
am doing it in a sustainable / best practice manner.
Hope that helps explains things a little better.
Gavin.
On May 9, 7:56 pm, Gavin Baumanis beauecli...@gmail.com wrote:
Hi again,
We have manages to find a few blogs / technical articles about Iframe
issue in IE8.
And while they all seemed like plausible solutions to our problem have
failed to deliver a successful result.
So now - instead of trying to code around the issue, we're thinking of
something a little more radical...
Something along the lines of;
Getting rid of session-based tracking altogether and using something
else.
Which is where all you fine people come into play :)
My initial thought is to simply go and do a search / replace for
session.userid with request.userid.
See what breaks - and fix any issues as they appear via some testing.
(we have some unit test for new / recent work we've been doing... but
that still leaves an awful lot of un-exercised code)
What I am after, I suppose is;
Do you think the proposed solution will deliver, or is there something
else we should be considering before we go headlong down this path?
As always - Thanks!
Gavin.
On May 3, 1:12 pm, Gavin Baumanis beauecli...@gmail.com wrote:
Hi there,
Our application has a header and menu in the one page - while the
pages content is an iframe.
Consider a User admin page;
We have the user's basic details in the header and an edit form in the
iframe.
When we choose User A, we get user A's details in the header and the
iframe.
In IE8 only;
When I select a new user, we see user B's details in the