aboutsummaryrefslogtreecommitdiffstats
path: root/static/js/fouc.js
blob: b8f1d07f35ec329fc35d1f08329fe30c84e577f8 (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
function getScript(url, integrity, crossorigin){
    var script = document.createElement("script")
    script.type = "text/javascript";
    script.src = url;
    script.defer = true;
    script.integrity = integrity;
    script.crossOrigin = crossorigin;
    document.getElementsByTagName("head")[0].appendChild(script);
}

function setClass(selector, myClass) {
    element = document.querySelector(selector);
    console.log(element)
    element.className = myClass;
}

function removeClass(selector, myClass) {
    element = document.querySelector(selector);
    var reg = new RegExp('(^| )'+myClass+'($| )','g');
    element.className = element.className.replace(reg,' ');
}

// hide the html when the page loads, but only if js is turned on.
setClass('html', 'prevent-fouc');

// when the DOM has finished loading, unhide the html
document.onreadystatechange = function () {
    if (document.readyState == "interactive") {
        removeClass('html', 'prevent-fouc');
        getScript(
            'https://pro.fontawesome.com/releases/v5.0.13/js/all.js',  // URL
            'sha384-d84LGg2pm9KhR4mCAs3N29GQ4OYNy+K+FBHX8WhimHpPm86c839++MDABegrZ3gn',  // Integrity
            'anonymous'  // Cross-origin
        );
    }
}