Nishantha
Nishantha

Reputation: 6695

Best way to load Google fonts <link/> , @import or javascript

I wonder what is the best way to load fonts from Google Fonts. I googled and founded <link/> way better than @import. Are there any tools to measure speed and performance over network and browser? What about javascript method?

<link href='http://fonts.googleapis.com/css?family=Oswald:300' rel='stylesheet' type='text/css'>

or

@import url(http://fonts.googleapis.com/css?family=Oswald:300);

or

<script type="text/javascript">
  WebFontConfig = {
    google: { families: [ 'Oswald:300:latin' ] }
  };
  (function() {
    var wf = document.createElement('script');
    wf.src = ('https:' == document.location.protocol ? 'https' : 'http') +
      '://ajax.googleapis.com/ajax/libs/webfont/1/webfont.js';
    wf.type = 'text/javascript';
    wf.async = 'true';
    var s = document.getElementsByTagName('script')[0];
    s.parentNode.insertBefore(wf, s);
  })(); </script> 

Upvotes: 13

Views: 8813

Answers (1)

Jacob Bundgaard
Jacob Bundgaard

Reputation: 1085

<link> is preferred to @import, as it doesn't block parallel downloads. See this link for more details: http://www.stevesouders.com/blog/2009/04/09/dont-use-import/

If the fonts you want to use are static and served by Google, the JavaScript solution is probably worse off performance-wise than both <link> and @import, since it has to load an external script (//ajax.googleapis.com/ajax/libs/webfont/1/webfont.js) which then, after what I can see, injects the same link element you could just put directly in your HTML source.

Upvotes: 8

Related Questions