Tôi đã chạy Google PageSpeed Insights trên trang web của tôi - www.gpsheatmap.com, và nó đề nghị thay đổi tải stylesheets của tôi (https://developers.google.com/speed/docs/insights/OptimizeCSSDelivery#example) từ -CSS Tối ưu hóa và PageSpeed Insights
<link href="/static/css/landing-page.css" rel="stylesheet">
Để -
<script>
var cb = function() {
var l = document.createElement('link');
l.rel = 'stylesheet';
l.href = '/static/css/landing-page.css';
var h = document.getElementsByTagName('head')[0];
h.parentNode.insertBefore(l, h);
};
var raf = requestAnimationFrame || mozRequestAnimationFrame ||
webkitRequestAnimationFrame || msRequestAnimationFrame;
if (raf) raf(cb);
else window.addEventListener('load', cb);
</script>
Tôi đã thử điều này cho bảng định kiểu của tôi và nó rõ ràng đã thay đổi tải để bạn sẽ thấy chế độ xem trước css, sau đó một giây sau, bạn sẽ thấy biểu định kiểu được áp dụng. Đây là trong firefox
Tôi có nên bỏ qua cách tiếp cận này hay không, điều này có thể được khắc phục không?
hãy xem [this] (http://stackoverflow.com/a/35691921/3828573) – Shayan
tệp css và js được lưu trữ trong bộ nhớ cache sau lần tải đầu tiên vì vậy tôi không nghĩ chạy tập lệnh để tải nó làm cho bất kỳ sự khác biệt. nếu tất cả, nó sẽ nhanh hơn nếu bạn lưu trữ tệp css trong bộ nhớ cục bộ - https://www.smashingmagazine.com/2014/09/improving-smashing-magazine-performance-case-study/ – Tasos
Tôi nghĩ rằng đây là một thực sự shit đề nghị của google. Tải CSS khi DOM đã sẵn sàng bởi một hàm javascript thực sự gây phiền nhiễu. Và nó tạo ra vấn đề mà farrellmr mô tả: bạn sẽ thấy áp dụng các phong cách sau đó. Tại sao google đề xuất loại craps này? Nó không phải là điều đầu tiên mà google đề xuất khi nó là một crap (sử dụng tiền tố '-webkit-' cho tất cả các chức năng mà bạn cần, ví dụ) –