JSFiddle - React, Tailwind, and code Playground

HTML

<button class=JQPopup title="TEST JQPOPUP" sizex=950 sizey=700 close=1 link="http://www.626suite.it">TEST ME</button>

JavaScript

/**
 * Data la lista degli argomenti, ritorna il primo che non sia null o undefined. Se non è presente
 * un tale argomento, ritorna undefined.
 */
function pick() {
    for(var i = 0, l = arguments.length; i < l; ++i) {
        if(arguments[i] !== undefined && arguments[i] !== null) {
            return arguments[i];
        }
    }

    return undefined;
}

/**
 * Blocca la propagazione di un evento.
 *
 * @param {object} event evento da bloccare
 * @param {bool} prevent se bloccare anche l'azione di default
 * @return {bool} false
 */
function stopEvent(event, prevent) {
    event = event || window.event;
    prevent = pick(prevent, true);

    if(event) {
        if(prevent && event.preventDefault) event.preventDefault();
        if(event.stopImmediatePropagation) event.stopImmediatePropagation();
        if(event.stopPropagation) event.stopPropagation();
        event.cancelBubble = true;
    }
    return false;
}

/**
 * Calcola le dimensioni effettive della finestra del browser.
 *
 * @return {array} dimensioni nella forma [width, height]
 */
function getWindowSize() {
    var myWidth = 0, myHeight = 0;

    if(typeof(window.innerWidth) == 'number') {
        //Non-IE
        myWidth = window.innerWidth;
        myHeight = window.innerHeight;
    }
    else if(document.documentElement && (document.documentElement.clientWidth || document.documentElement.clientHeight)) {
        //IE 6+ in 'standards compliant mode'
        myWidth = document.documentElement.clientWidth;
        myHeight = document.documentElement.clientHeight;
    }
    else if(document.body && (document.body.clientWidth || document.body.clientHeight)) {
        //IE 4 compatible
        myWidth = document.body.clientWidth;
        myHeight = document.body.clientHeight;
    }

    return [myWidth, myHeight];
}

/**
 * Crea un popup jquery dialog contenente un iframe che punta alla pagina richiesta.
 *
 * @param {string} link url della pagina che il dialog deve contenere
 * @param {object}...