Tôi muốn sử dụng tìm nạp trước html để tìm nạp trước một tệp phông chữ. Tôi làm theo các khuyến nghị ở đây: https://css-tricks.com/prefetching-preloading-prebrowsing/Tài nguyên đã tải trước được tải hai lần
<!doctype html>
<html>
<head>
<link rel="prefetch" href="https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2">
<style>
@font-face {
font-family: 'Open Sans';
font-style: normal;
font-weight: 400;
src: local('Open Sans'), local('OpenSans'), url(https://fonts.gstatic.com/s/opensans/v13/cJZKeOuBrn4kERxqtaUH3ZBw1xU1rKptJj_0jans920.woff2) format('woff2');
unicode-range: U+0000-00FF, U+0131, U+0152-0153, U+02C6, U+02DA, U+02DC, U+2000-206F, U+2074, U+20AC, U+2212, U+2215, U+E0FF, U+EFFD, U+F000;
}
html, body {
font-family: 'Open Sans';
}
</style>
</head>
<body>
Hello world
</body>
</html>
Tuy nhiên, các file font là thực sự tải hai lần trên Chrome. Tôi chưa thử các trình duyệt khác.
Tôi có làm điều gì đó không chính xác không?
On tôi Chrome 49 cửa sổ vista nó chỉ tải một lần. [** Đây là ảnh chụp màn hình của nó **] (https://i.gyazo.com/26f727b39b8f57c97b57d0bb58304163.png) –
Tôi nghĩ rằng nó tải hai lần vì bạn đang tải nó một lần trong thẻ liên kết, hiển thị dưới dạng phông chữ loại/woff2 và một lần trong src phông chữ, hiển thị dưới dạng phông chữ loại. Tôi không quen với việc tìm nạp trước, nhưng chỉ có thể sử dụng phông chữ với phông chữ, nhưng không cần thẻ liên kết. Tuy nhiên, nếu tôi cố gắng chỉ sử dụng thẻ liên kết, không có phông chữ, nó đã tải phông chữ/woff2 nhưng tôi không thể sử dụng phông chữ mà không có quy tắc phông chữ. Tôi nghĩ mẹo ở đây là bạn đang tải phông chữ một lần trong thẻ liên kết và một lần trong quy tắc phông chữ, nhưng hiện tại chúng không liên quan đến – frajk
@frajk Câu trả lời là không xóa thẻ liên kết. Trong thế giới thực, css là một biểu định kiểu bên ngoài mà '@ include' một biểu định kiểu khác bao gồm khai báo phông chữ-gia đình. Nếu mỗi tệp định kiểu không có kích thước không chính xác thì việc tìm nạp trước là rất quan trọng. –