Why not just wrap the factory that introJs provides and run it in your shell?
You can do it externally with something like this (untested):
var introJsWrapper = function(targetElm) { var ijs = introJs(targetElm); ijs.start(); return ijs; };
Or you can do this inside the fork of introJs code by exposing it as a property of the main function, for example:
var introJs = function (targetElm) { if (typeof (targetElm) === 'object') {
Note that in introJs the main function is a very subtle parameter check / shell replacement already around the internal constructor. The call indirectly calls the constructor. Therefore, I really do not need to directly access this internal design function, as far as I can tell.
source share