JSFiddle - React, Tailwind, and code Playground

HTML

<link rel="stylesheet" href="http://cdn.jsdelivr.net/animatecss/3.2.0/animate.min.css">
<link rel="stylesheet" href="http://cdn.jsdelivr.net/animatecss/3.2.0/nonexistent.min.css">
<b>Old &lt;link&gt; elements:</b>

<br>
<output id="old"></output> <b>New &lt;link&gt; elements (after CSSback parsed them):</b>

<br>
<output id="new"></output>

CSS

body {
    font-family:Arial;
}
li {
    margin-left:5%;
}

JavaScript

console.clear();
CSSback = {
    local: "cssfallback/",
    fallbacks: {
        "animate.min.css": "localanimate.css",
            "nonexistent.min.css": "localnonexistent.css"
    }
}

CSSback.init = function () {
    var links = document.head.querySelectorAll("link");
    for (var i = 0, l = links.length; i < l; i++) {
        var link = links[i];
        this.ping(link);
    }
}.bind(CSSback);

CSSback.ping = function (link) {
    var url = link.href;
    var http = new XMLHttpRequest();
    http.onreadystatechange = function () {
        if (http.readyState == 4 && http.status != 200) this.fallback(link);
    }.bind(this);
    http.open("head", url, true);
    http.send();
}.bind(CSSback);

CSSback.fallback = function (link) {
    var url = link.href.split("/");
    var name = url[url.length - 1];
    var fallback = this.fallbacks[name];
    if (fallback) {
        link.parentNode.removeChild(link);
        var link = document.createElement("link");
        link.rel = "stylesheet";
        link.type = "text/css";
        link.href = this.local + fallback;
        document.head.appendChild(link);
    }
}.bind(CSSback);

window.addEventListener("load", CSSback.init);

/* ---------- For log/debug purposes ( not needed ) */

window.addEventListener("load", function () {
    old = document.getElementById("old");
    var links = document.head.querySelectorAll("link");
    old.innerHTML = "<ul>";
    for (var i = 1, l = links.length; i < l; i++) {
        old.innerHTML += "<li>" + links[i].outerHTML.replace("<", "&lt;").replace(">", "&gt;") + "</li>";
    }
    old.innerHTML += "</ul><br>";
});

setTimeout(function () {
    New = document.getElementById("new");
    New.innerHTML = "<ul>";
    var links = document.head.querySelectorAll("link");
    for (var i = 1, l = links.length; i < l; i++) {
        New.innerHTML += "<li>" + links[i].outerHTML.replace("<", "&lt;").replace(">", "&gt;") + "</li>";
    }
    New.innerHTML += "</ul><br>";
}, 1000);