Uploaded image for project: 'OpenOLAT'
  1. OpenOLAT
  2. OO-1635

Refactor ajax background call and o2cl method to use XMLHttpRequest instead of iframe, fix IE11 double click issue

    XMLWordPrintable

    Details

    • Type: New Feature
    • Status: Closed (View Workflow)
    • Priority: Major
    • Resolution: Fixed
    • Affects Version/s: None
    • Fix Version/s: 10.4
    • Component/s: Framework
    • Labels:
      None

      Description

      Traditionally requests in the framework (links and form posts) are executed in a hidden iframe (oaa0). The o2cl() javascript method is called before this to make sure only one requests can go to the server at once. Following requests are discarded and a busy spinner appears after half a second to indicate that the app is still waiting for server response.

      This works good so far, however IE11 breaks this method when using double clicks instead of single clicks. IE11 executes the onclick callback on the second click of a coubleclick (thus triggers execution of o2cl), however does not actually send anything in the iframe. The busy spinner therefore is never cleared, the application freezes.

      The fix is to replace the o2cl methods with something new and not execute the links in the ajax iframe but using a real XMLHttpRequest. The method should be implemented in a way that the server can recognize if a request was made via XMLHttpRequest or if it was opened in a new window/reload.

      This also solves a root problem that prevents proper implementation of OO-722

      Special care must be taken for SCORM requests as they have their own way of dealing with the requests.

        Attachments

          Issue Links

            Activity

              People

              • Assignee:
                srosse Stéphane Rossé
                Reporter:
                gnaegi Florian Gnägi
                Tester:
                Kirsten Scherer
              • Votes:
                0 Vote for this issue
                Watchers:
                3 Start watching this issue

                Dates

                • Created:
                  Updated:
                  Resolved:

                  Time Tracking

                  Estimated:
                  Original Estimate - 0 minutes
                  0m
                  Remaining:
                  Remaining Estimate - 0 minutes
                  0m
                  Logged:
                  Time Spent - 2 days, 8 hours, 1 minute
                  2d 8h 1m