docs: function handleFrameLoad(that, uri, iframe, frameName, loadCache,
                               storeCache, func) {
  
          var iframeDocumentElement;
          var afterScripts;
  
          // Needed for IE8.
          iframe = W.getElementById(frameName);
          iframeDocumentElement = W.getIFrameDocument(iframe).documentElement;
  
          if (loadCache) {
              // Load frame from cache:
              iframeDocumentElement.innerHTML = that.cache[uri].contents;
          }
  
          // Update references to frameWindow and frameDocument
          // if this was the frame of the game.
          if (frameName === that.frameName) {
              that.frameWindow = iframe.contentWindow;
              that.frameDocument = that.getIFrameDocument(iframe);
              // Disable right click in loaded iframe document, if necessary.
              if (that.conf.rightClickDisabled) {
                  J.disableRightClick(that.frameDocument);
              }
              // Track onkeydown Escape.
              if (that.conf.noEscape) {
                  that.frameDocument.onkeydown = document.onkeydown;
              }
          }
  
          // Remove on-the-fly style element reference.
          that.styleElement = null;
  
          // (Re-)Inject libraries and reload scripts:
          removeLibraries(iframe);
          afterScripts = function() {
              injectLibraries(iframe, that.globalLibs.concat(
                  that.frameLibs.hasOwnProperty(uri) ? that.frameLibs[uri] : []));
  
              if (storeCache) {
                  // Store frame in cache:
                  that.cache[uri].contents = iframeDocumentElement.innerHTML;
              }
  
              func();
  
              // Important. We need a timeout (2nd param), because some changes
              // might take time to be reflected in the DOM.
              W.adjustFrameHeight(0, 120);
          };
  
          if (loadCache) reloadScripts(iframe, afterScripts);
          else afterScripts();
      }