Webfont.js - Web Font Loader
Note: This post is over 10 years old. The information may be outdated.
Web Font Loader (webfont.js) cho phép bạn sử dụng các Fonts tùy chỉnh trên Web. Giúp điều khiển fonts 1 cách linh động hơn bằng Javascript, thay vì thẻ <link> hoặc CSS, linh động tùy chỉnh các tham số, tối ưu tốc độ tải và dễ sử dụng hơn.
Web Font Loader hỗ trợ load fonts từ Google Fonts, Typekit, Fonts.com, and Fontdeck, cũng như self-hosted web fonts.
Webfont.js được Google và Typekit cùng nhau phát triển.
Cài đặt
Để sử dụng, chỉ cần load webfont.js và liệt kê các Fonts cần sử dụng. Bạn có thể sử dụng Google Fonts bằng cách sau:
<script src="https://ajax.googleapis.com/ajax/libs/webfont/1.6.16/webfont.js"></script>
<script>
WebFont.load({
google: {
families: ['Droid Sans', 'Droid Serif'],
},
})
</script>
Web Font Loader cũng hỗ trợ tải bất đồng bộ (asynchronously), giúp trang tải nhanh hơn mà không cần quan tâm Font có load hay chưa.
<script>
WebFontConfig = {
typekit: { id: 'xxxxxx' },
google: {
families: [
'Droid Sans',
'Droid Serif:bold',
'Open Sans Condensed:300,700',
],
},
}
;(function (d) {
var wf = d.createElement('script'),
s = d.scripts[0]
wf.src = 'https://ajax.googleapis.com/ajax/libs/webfont/1.6.16/webfont.js'
s.parentNode.insertBefore(wf, s)
})(document)
</script>
Tốc độ có thể được tăng lên, nhưng cách này có thể gây nên tình trạng Flash of Unstyled Text (FOUT). Tức là giao diện bị vỡ do Fonts chưa tải kịp. Trường hợp FOUT có thể được fix bằng nhiều cách, WebFont.js hỗ trợ 1 số API sự kiện cho biết trạng thái tải font, để hiển thị trạng thái đang Loading nếu bạn muốn. Xem thêm ở đây: https://helpx.adobe.com/typekit/using/font-events.html
Tham khảo
- Web Font Loader | Github
- Web Font Loader | Google Developers
- Font events | Typekit Help
- Ảnh: keycdn.com
Related Posts
Resting và Spreading JavaScript Objects
Resting và spreading càng ngày được ưa chuộng vì sự tiện lợi của nó, sau đây là 7 tricks với JavaScript objects.
Cách sử dụng Destructuring trong Javascript ES6
Destructuring là chức năng mới trong ES6 của Javascript. Giúp extract dữ liệu (có thể lồng nhau) từ Array hoặc Object.
ES6 - ép sử dụng tham số trong function
Các tham số function trong Javascript thực ra không bắt buộc, Javascript chỉ kiểm tra khi nó được sử dụng đến. Một số trường hợp ta muốn bắt buộc người sử dụng hàm phải điền tham số này khi gọi hàm. Thủ thuật sau sử dụng chức năng default param trong ES6
ES6 - swap (hoán đổi) nhanh 2 biến số
ES6 có chức năng destructuring có khá nhiều công dụng. Thủ thuật sau giúp hoán đổi giá trị 2 biến bằng cách destructuring.
