From d55134151c638f3498634a27d7cf36753430525f Mon Sep 17 00:00:00 2001 From: thomasmars Date: Thu, 17 Nov 2016 12:56:15 +0100 Subject: [PATCH] Moved registering of external dispatcher listener. - This will dispatch events that are dispatched inside the constructor of content types HFP-86 --- js/h5p.js | 27 +++++++++++++++------------ 1 file changed, 15 insertions(+), 12 deletions(-) diff --git a/js/h5p.js b/js/h5p.js index c6767b5..32ca652 100644 --- a/js/h5p.js +++ b/js/h5p.js @@ -1984,6 +1984,21 @@ H5P.createTitle = function (rawTitle, maxLength) { // Init H5P when page is fully loadded $(document).ready(function () { + + /** + * Indicates if H5P is embedded on an external page using iframe. + * @member {boolean} H5P.externalEmbed + */ + + // Relay events to top window. This must be done before H5P.init + // since events may be fired on initialization. + if (H5P.isFramed && H5P.externalEmbed === false) { + H5P.externalDispatcher.on('*', function (event) { + console.log("external dispatcher got event, relaying it", event); + window.parent.H5P.externalDispatcher.trigger.call(this, event); + }); + } + /** * Prevent H5P Core from initializing. Must be overriden before document ready. * @member {boolean} H5P.preventInit @@ -2025,18 +2040,6 @@ H5P.createTitle = function (rawTitle, maxLength) { // pagehide is used on iPad when tabs are switched H5P.$window.on('pagehide', storeCurrentState); } - - /** - * Indicates if H5P is embedded on an external page using iframe. - * @member {boolean} H5P.externalEmbed - */ - - // Relay events to top window. - if (H5P.isFramed && H5P.externalEmbed === false) { - H5P.externalDispatcher.on('*', function (event) { - window.parent.H5P.externalDispatcher.trigger.call(this, event); - }); - } }); })(H5P.jQuery);