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

          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.
          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.
          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.
          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".
          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.

            People

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

              Dates

              • Created:
                Updated:
                Resolved: