eead98b5207d2413138457fdd4131d01dbdf0b7d tdreszer Thu Aug 18 12:24:20 2011 -0700 The reload on dirty page can be called earlier for FF and Chrome, but IE still relies upon the slower approach of full load then reload. diff --git src/hg/hgTracks/hgTracks.c src/hg/hgTracks/hgTracks.c index 21cc461..3ae3e97 100644 --- src/hg/hgTracks/hgTracks.c +++ src/hg/hgTracks/hgTracks.c @@ -4938,31 +4938,35 @@ #endif//ndef USE_NAVIGATION_LINKS if (showTrackControls) { /* Break into a second form so that zooming and scrolling * can be done with a 'GET' so that user can back up from details * page without Internet Explorer popping up an annoying dialog. * Do rest of page as a 'POST' so that the ultra-long URL from * all the track controls doesn't break things. IE URL limit * is 2000 bytes, but some firewalls impose a ~1000 byte limit. * As a side effect of breaking up the page into two forms * we need to repeat the position in a hidden variable here * so that zoom/scrolling always has current position to work * from. */ #if IN_PLACE_UPDATE - hPrintf(""); + // This 'dirty' field is used to check if js/ajax changes to the page have occurred. + // If so and it is reached by the back button, a page reload will occur instead. + hPrintf("\n"); + // Unfortunately this does not work in IE, so that browser will get the reload only after this full load. + hPrintf("\n",hgTracksName(),cart->userId); #endif/// IN_PLACE_UPDATE hPrintf("", chromName, winStart+1, winEnd); hPrintf("\n%s", trackGroupsHidden1->string); hPrintf("\n"); hPrintf("
\n\n", hgTracksName()); hPrintf("%s", trackGroupsHidden2->string); freeDyString(&trackGroupsHidden1); freeDyString(&trackGroupsHidden2); if (!psOutput) cartSaveSession(cart); /* Put up hgsid= as hidden variable. */ clearButtonJavascript = "document.TrackForm.position.value=''; document.getElementById('suggest').value='';"; hPrintf("
"); }