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
Special care must be taken for SCORM requests as they have their own way of dealing with the requests.