Skip to content

Instantly share code, notes, and snippets.

@brainwire
Created October 27, 2014 05:30
Show Gist options
  • Save brainwire/965aa04a601b34432a7f to your computer and use it in GitHub Desktop.
Save brainwire/965aa04a601b34432a7f to your computer and use it in GitHub Desktop.
font
<script>
(function(){
function addFont() {
var style = document.createElement('style');
style.rel = 'stylesheet';
document.head.appendChild(style);
style.textContent = localStorage.sourceSansPro;
}
try {
if (localStorage.sourceSansPro) {
// The font is in localStorage, we can load it directly
addFont();
} else {
// We have to first load the font file asynchronously
var request = new XMLHttpRequest();
request.open('GET', '/path/to/source-sans-pro.woff.css', true);
request.onload = function() {
if (request.status >= 200 && request.status < 400) {
// We save the file in localStorage
localStorage.sourceSansPro = request.responseText;
// ... and load the font
addFont();
}
}
request.send();
}
} catch(ex) {
// maybe load the font synchronously for woff-capable browsers
// to avoid blinking on every request when localStorage is not available
}
}());
</script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment