// source --> https://neubukower-hse.de/wp-content/plugins/bm-gfonts/assets/js/font-blocker.js 
const FontBlockerObserver = new MutationObserver(mutations => {
    mutations.forEach(({ addedNodes }) => {
        addedNodes.forEach(node => {

            if(node.nodeType === 1 && node.tagName === 'SCRIPT') {
                let src = node.src || '';
                let type = node.type;

                if( node.innerText.indexOf('fonts.googleapis.com') >= 0 ) {
                    node.type  = 'javascript/blocked';
                    node.innerHTML = node.innerHTML.replace('fonts.googleapis.com', bmFontBlocker.replace_url);
                    node.type  = 'text/javascript';
                }

            } else if(node.nodeType === 1 && node.tagName === 'LINK' && node.rel === 'stylesheet') {

                let href = node.href || '';
                href     = href.toLowerCase();

                if( href.indexOf('fonts.gstatic.com') >= 0 && bmFontBlocker.block_gfonts ) {

                    node.media  = 'stylesheet/blocked';

                } else if( href.indexOf('fonts.googleapis.com') >= 0 ) {

                    node.href   = node.href.replace('fonts.googleapis.com', bmFontBlocker.replace_url);

                }

            }
        });
    });
});

let targetNode      = document.documentElement;

let observerConfig  = {
    childList       : true,
    subtree         : true
};

FontBlockerObserver.observe(targetNode, observerConfig);