Skip to content

Instantly share code, notes, and snippets.

@codesoda
Created June 28, 2016 13:35
Show Gist options
  • Save codesoda/e5d17b8c3b274a5b13cfedf1a127dccc to your computer and use it in GitHub Desktop.
Save codesoda/e5d17b8c3b274a5b13cfedf1a127dccc to your computer and use it in GitHub Desktop.
Typekit + sessionstorage + no FOUT
<script>
(function(d) {
var tkTimeout=3000;
if(window.sessionStorage){if(sessionStorage.getItem('useTypekit')==='false'){tkTimeout=0;}}
var config = {
kitId: 'abc1234',
scriptTimeout: tkTimeout
},
h=d.documentElement,t=setTimeout(function(){h.className=h.className.replace(/\bwf-loading\b/g,"")+" wf-inactive";if(window.sessionStorage){sessionStorage.setItem("useTypekit","false")}},config.scriptTimeout),tk=d.createElement("script"),f=false,s=d.getElementsByTagName("script")[0],a;h.className+=" wf-loading";tk.src='//use.typekit.net/'+config.kitId+'.js';tk.async=true;tk.onload=tk.onreadystatechange=function(){a=this.readyState;if(f||a&&a!="complete"&&a!="loaded")return;f=true;clearTimeout(t);try{Typekit.load(config)}catch(e){}};s.parentNode.insertBefore(tk,s)
})(document);
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment