aboutsummaryrefslogtreecommitdiff
path: root/js/iframe.js
blob: a03187246beb5e9f5ab5b896c290a2d5cb8b326f (plain)
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
37
38
39
40
41
42
43
44
45
46
47
48
function iframeURLChange(iframe, callback) {
    var unloadHandler = function () {
        setTimeout(function () {
            callback(iframe.contentWindow.location.href);
        }, 0);
    };

    function attachUnload() {
        iframe.contentWindow.removeEventListener("pagehide", unloadHandler);
        iframe.contentWindow.addEventListener("pagehide", unloadHandler);
        iframe.contentWindow.removeEventListener("unload", unloadHandler);
        iframe.contentWindow.addEventListener("unload", unloadHandler);
    }

    iframe.addEventListener("load", attachUnload);
    attachUnload();
}

Array.from(document.getElementsByTagName("iframe")).forEach((par) => {
    iframeURLChange(par, function (newURL) {
        $(".loader").fadeIn(200);
    });
})

function unload() {
    $(".loader").fadeIn(200);
}

Array.from(document.getElementsByTagName("iframe")).forEach((par) => {
    par.onbeforeunload = unload
})

function loaded () {
    $(".loader").fadeOut(200);

    setTimeout(() => {
        $(".loader").fadeOut(200);
    }, 300)

    setTimeout(() => {
        $(".loader").fadeOut(200);
    }, 1500);
}

Array.from(document.getElementsByTagName("iframe")).forEach((par) => {
    par.onload = loaded;
    par.onabort = loaded;
})