Skip to content

Instantly share code, notes, and snippets.

@michaweber
Created March 3, 2018 14:40
Show Gist options
  • Save michaweber/eed347b0bc00130710ebe29dd525db4a to your computer and use it in GitHub Desktop.
Save michaweber/eed347b0bc00130710ebe29dd525db4a to your computer and use it in GitHub Desktop.
load css asynchronously
<link rel="preload" href="./css/main.css" as="style" onload="this.rel='stylesheet'">
<noscript><link rel="stylesheet" href="./css/main.css"></noscript>
<script>/*!loadCSS. [c]2017 Filament Group, Inc. MIT License*/(function(w){"use strict";if(!w.loadCSS){w.loadCSS=function(){};} var rp=loadCSS.relpreload={};rp.support=(function(){var ret;try{ret=w.document.createElement("link").relList.supports("preload");}catch(e){ret=false;} return function(){return ret;};})();rp.bindMediaToggle=function(link){var finalMedia=link.media||"all";function enableStylesheet(){link.media=finalMedia;} if(link.addEventListener){link.addEventListener("load",enableStylesheet);}else if(link.attachEvent){link.attachEvent("onload",enableStylesheet);} setTimeout(function(){link.rel="stylesheet";link.media="only x";});setTimeout(enableStylesheet,3000);};rp.poly=function(){if(rp.support()){return;} var links=w.document.getElementsByTagName("link");for(var i=0;i<links.length;i++){var link=links[i];if(link.rel==="preload"&&link.getAttribute("as")==="style"&&!link.getAttribute("data-loadcss")){link.setAttribute("data-loadcss",true);rp.bindMediaToggle(link);}}};if(!rp.support()){rp.poly();var run=w.setInterval(rp.poly,500);if(w.addEventListener){w.addEventListener("load",function(){rp.poly();w.clearInterval(run);});}else if(w.attachEvent){w.attachEvent("onload",function(){rp.poly();w.clearInterval(run);});}} if(typeof exports!=="undefined"){exports.loadCSS=loadCSS;} else{w.loadCSS=loadCSS;}}(typeof global!=="undefined"?global:this));</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment