ICEfaces
  1. ICEfaces
  2. ICE-5007

Back button handling across all supported browsers

    Details

    • Type: Bug Bug
    • Status: Closed
    • Priority: Major Major
    • Resolution: Won't Fix
    • Affects Version/s: 2.0-Alpha2
    • Fix Version/s: 2.0-Alpha3, 2.0.0
    • Component/s: Bridge
    • Labels:
      None
    • Environment:
      supported browsers

      Description

      The back button needs to be handled properly in all browsers. See a preliminary analysis of the issue here: http://jira.icefaces.org/browse/ICE-4794?focusedCommentId=26668&page=com.atlassian.jira.plugin.system.issuetabpanels%3Acomment-tabpanel#action_26668

        Issue Links

          Activity

          Mircea Toma created issue -
          Mircea Toma made changes -
          Field Original Value New Value
          Link This issue blocks ICE-4794 [ ICE-4794 ]
          Mircea Toma made changes -
          Link This issue blocks ICE-4794 [ ICE-4794 ]
          Mircea Toma made changes -
          Link This issue depends on ICE-4794 [ ICE-4794 ]
          Mircea Toma made changes -
          Salesforce Case []
          Assignee Mircea Toma [ mircea.toma ]
          Hide
          Deryk Sinotte added a comment -

          What we'd like next here is an analysis and/or suggestions on some possible ways we might handle use of the back and forward buttons. One suggestion would be for ICEfaces to provide a client-side API that hooks into the back/forward actions that would allow application developers to determine what happens. We could also provide a reasonable default implementation that uses the API to handle a standard use case.

          Show
          Deryk Sinotte added a comment - What we'd like next here is an analysis and/or suggestions on some possible ways we might handle use of the back and forward buttons. One suggestion would be for ICEfaces to provide a client-side API that hooks into the back/forward actions that would allow application developers to determine what happens. We could also provide a reasonable default implementation that uses the API to handle a standard use case.
          Deryk Sinotte made changes -
          Salesforce Case []
          Fix Version/s 2.0-Beta [ 10032 ]
          Assignee Priority P2
          Affects Version/s 2.0-Alpha2 [ 10214 ]
          Affects Version/s 2.0-Beta [ 10032 ]
          Ken Fyten made changes -
          Salesforce Case []
          Assignee Priority P2 P3
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #21359 Tue May 04 08:42:57 MDT 2010 mircea.toma ICE-5007 Rewrite DOM document with the current markup to bring browser cache up to date.
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/javascript/application.js
          Hide
          Mircea Toma added a comment -

          The solution chosen was to rewrite the entire DOM of the browser just before the page is unloaded. This way the browser is forced to keep around the state of the page the way it is right before navigation occurs, and not the way ti was when first loaded. This fix should cover more than 50% of cases.

          Show
          Mircea Toma added a comment - The solution chosen was to rewrite the entire DOM of the browser just before the page is unloaded. This way the browser is forced to keep around the state of the page the way it is right before navigation occurs, and not the way ti was when first loaded. This fix should cover more than 50% of cases.
          Mircea Toma made changes -
          Status Open [ 1 ] Resolved [ 5 ]
          Resolution Fixed [ 1 ]
          Hide
          Mircea Toma added a comment -

          Created issue ICE-5685 that should be fixing the other 50% of cases, if needed.

          Show
          Mircea Toma added a comment - Created issue ICE-5685 that should be fixing the other 50% of cases, if needed.
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #21365 Wed May 05 16:01:49 MDT 2010 mircea.toma ICE-5007 Rewrite markup only when document was updated.
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/javascript/application.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #21450 Wed May 19 07:26:21 MDT 2010 mircea.toma ICE-5007 Revert commented out code (checked in by mistake).
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/javascript/application.js
          Repository Revision Date User Message
          ICEsoft Public SVN Repository #21454 Thu May 20 16:00:52 MDT 2010 mircea.toma ICE-5007 Revert fixes since they introduce unwanted side-effects.
          Files Changed
          Commit graph MODIFY /icefaces/scratchpads/glimmer/core/src/main/javascript/application.js
          Hide
          Ken Fyten added a comment -

          As for IE, I think there's a fairly significant problem.

          It seems that whenever a partial update is applied to the page, any
          attempt to reload/refresh after that results in JavaScript errors (ice
          undefined, window.ice undefined). I see this in the scopes case by

          • going to any test
          • reload the page (should work multiple times)
          • change a counter value
          • try and reload the page again (mine fails here)

          In addition, once it fails, I frequently can't get anything to load in
          that tab again. I've been able to reproduce the same behaviour in the
          nav example by doing pretty much the same thing:

          • going to the first page
          • reload the page (should work multiple times)
          • click the A3 button
          • try and reload the page again (mine fails here)

          This doesn't sound good. I'll have a look. We might need to remove the
          code that rewrites the markup if it has this kind of "side effects".

          Show
          Ken Fyten added a comment - As for IE, I think there's a fairly significant problem. It seems that whenever a partial update is applied to the page, any attempt to reload/refresh after that results in JavaScript errors (ice undefined, window.ice undefined). I see this in the scopes case by going to any test reload the page (should work multiple times) change a counter value try and reload the page again (mine fails here) In addition, once it fails, I frequently can't get anything to load in that tab again. I've been able to reproduce the same behaviour in the nav example by doing pretty much the same thing: going to the first page reload the page (should work multiple times) click the A3 button try and reload the page again (mine fails here) This doesn't sound good. I'll have a look. We might need to remove the code that rewrites the markup if it has this kind of "side effects".
          Ken Fyten made changes -
          Resolution Fixed [ 1 ]
          Status Resolved [ 5 ] Reopened [ 4 ]
          Assignee Priority P3 P1
          Hide
          Mircea Toma added a comment -

          Firefox seemed to be a little flakier, especially with the request-scoped test. By hitting the counter buttons and then refreshing the page, I could quickly get it to stop working, and it would eventually go to a cached version of the page and show this in the address bar: wyciwyg://38/http://localhost:8080/scopes/request-scope.jsf

          Show
          Mircea Toma added a comment - Firefox seemed to be a little flakier, especially with the request-scoped test. By hitting the counter buttons and then refreshing the page, I could quickly get it to stop working, and it would eventually go to a cached version of the page and show this in the address bar: wyciwyg://38/ http://localhost:8080/scopes/request-scope.jsf
          Hide
          Mircea Toma added a comment -

          Taking out the fix for this issue solves the problem we're seeing in Firefox ad IE6. Since the fix wasn't a complete solution for back button handling and it introduces unwanted side-effects this issue will not be fixed. Hopefully the solution for ICE-5685 will solve the back button handling problem.

          Show
          Mircea Toma added a comment - Taking out the fix for this issue solves the problem we're seeing in Firefox ad IE6. Since the fix wasn't a complete solution for back button handling and it introduces unwanted side-effects this issue will not be fixed. Hopefully the solution for ICE-5685 will solve the back button handling problem.
          Mircea Toma made changes -
          Status Reopened [ 4 ] Resolved [ 5 ]
          Resolution Won't Fix [ 2 ]
          Ken Fyten made changes -
          Fix Version/s 2.0.0 [ 10230 ]
          Ken Fyten made changes -
          Status Resolved [ 5 ] Closed [ 6 ]
          Assignee Priority P1

            People

            • Assignee:
              Mircea Toma
              Reporter:
              Mircea Toma
            • Votes:
              3 Vote for this issue
              Watchers:
              1 Start watching this issue

              Dates

              • Created:
                Updated:
                Resolved: