At 11:07 AM -0400 2001-10-04, Chris Casciano wrote:
>Well, with all due respect i disagree.

Heavens, whoever said I was due any respect? Flame on! :)


>First, if IE/mac was doing this intentionally for the benefits of a scenario
>that you outline I find it quite hard to believe that the browser would not
>have been coded to behave the same way if I instead clicked on th "go home"
>link on the 2nd page.

Here I disagree.

Clicking Back for most users is a kind of Undo--"whoops, this page 
didn't have what I wanted, let me back up and try again". Obviously 
if the browser's behavior is designed to carry out this desire, the 
page should be left as it were.

Clicking Refresh is the opposite--"Please start this page over, as 
though I've never seen it before."


Somewhere in between the two is the debate of how a page should 
behave when you use HTML to navigate to it after having visited it. I 
think the argument could be made both ways. One one hand you've 
already been there...the page should know that and treat you as such, 
greeting you as you left it. On the other hand, I'm certain people 
will be able to come up with an example of dynamic pages which should 
always pretend they've never seen you before.

Complicating (and at the same time deciding) this argument is the 
issue of implementation. If IE was going to let navigated-to pages 
greet you with a cached state, that means it needs to cache them. And 
due to memory and disk constraints some will be cached, and some not. 
For those which are, the browser can show the saved state of the 
page. For those which aren't, the browser will have to reload/rerun 
the page from scratch. The user should be insulated from this 
underlying problem, and not have to experience IE behaving 
inconsistently.
[I know, the same implementation problem occurs with caching pages in 
the history for "Back" usage. But to a far lesser extent.]


It is therefor my opinion that it is desirable for IE to treat the 
Back button differently from links to the same page:
a) It is desirable for IE to treat the "Back" button as a return to a 
saved state.
b) It is desirable for IE to treat links to pages as a reload/refresh.



>Secondly, the function I've written to move the elements is triggered via
>body.onload. In the scenario you've outlined, the page isn't behaving like
>its *loading* anymore, but more like its frozen in time as if it the user
>was flipping between open browser windows.

This is a very good point. IIRC, previous versions of IE behaved 
badly in the other direction: returning to the page via the back 
button showed the page in its initial state and did NOT run the 
onload code. Very frustrating. There seems to now have been 
overcompensation in the opposite direction.

A restored-from-cache page should EITHER show the state it was in 
previously OR show the initial state and fire the onload event, but 
NOT both. [And IMO, the former is the desirable behavior for pages 
returned to via the "Back" button or javascript.back(), and the 
latter preferable for pages returned to via HTML links to the page or 
location.href='...'.]



>And finally, if as a page developer you felt that it would benefit your
>visitors to maintain the state of your 'tree' on your pages you already have
>the tools to do that.

Certainly true, but now you're picking at an example I came up with, 
not the point itself. Let's take the example of your page. Pretend 
your a use of your site. You come to the home page and see a cool 
animation showing how the navigation works. You click a link. You 
decide to go Back. Do you want to watch the animation again, or just 
start using the page as it was?


>Yes, I could always init the position via javascript, and I may now have to
>if this behavior persists.

Why not do the first solution I mentioned--set a "global" (window) 
variable which flags whether or not the items have moved:

var navInPlace=false;
function MoveNav(){
   if (navInPlace) return;
   ...
   navInPlace=true;
}
window.onload=MoveNav;


>My major problem with this method is I would then have to have the 
>value in 2 places - once in my css so browsers like NN4 work, and a 
>second time in javscript so IE/mac works. Seems like cause for 
>maintenance problems to me.

True 'nuff. However, you could use JS to access the css rule for the 
divs and find out what it specifies. But I'd do the solution with the 
flag before I went this route.
-- 
Gavin Kistner
User Experience Architect > Refinery, Inc.
[EMAIL PROTECTED] | 1.314.283.1443

To unsubscribe send mail to [EMAIL PROTECTED]
To search the archives: 
          <http://www.mail-archive.com/macie-talk%40lists.boingo.com/>

Reply via email to