diff --git a/js/h5p-event-dispatcher.js b/js/h5p-event-dispatcher.js index 25a3b5c..204fda9 100644 --- a/js/h5p-event-dispatcher.js +++ b/js/h5p-event-dispatcher.js @@ -40,7 +40,7 @@ H5P.EventDispatcher = (function () { if (thisArg === undefined) { thisArg = self; } - if (!(listener instanceof Function)) { + if (typeof listener !== 'function') { throw TypeError('listener must be a function'); } diff --git a/js/h5p-x-api.js b/js/h5p-x-api.js index 0cf9a84..77b9357 100644 --- a/js/h5p-x-api.js +++ b/js/h5p-x-api.js @@ -3,6 +3,10 @@ var H5P = H5P || {}; // Create object where external code may register and listen for H5P Events H5P.externalDispatcher = new H5P.EventDispatcher(); +if (window.top !== window.self && window.top.H5P !== undefined && window.top.H5P.externalDispatcher !== undefined) { + H5P.externalDispatcher.on('xAPI', window.top.H5P.externalDispatcher.trigger); +} + // EventDispatcher extensions /**