Để trả lời câu hỏi của bạn, display: none
hiện không giảm thời gian tải. Nó vẫn tải nội dung/lớp/mã được đề cập, nhưng trình duyệt không hiển thị/hiển thị chúng.
Có vẻ như bạn đang sử dụng một cách tiếp cận điện thoại di động đầu tiên, vì vậy bạn có thể một trong hai:
tải toàn bộ tài sản/classes/script không phụ thuộc/tablet/lớp máy tính để bàn di động bạn đang nhắm đến và điều chỉnh bố cục bằng truy vấn phương tiện của bạn.
- Điều này có nghĩa là tất cả nội dung (sprites et al) sẽ được tải theo mặc định ngay cả khi chúng không được sử dụng bởi một số loại thiết bị nhất định.
- Nội dung/bố cục sẽ được hiển thị hoặc ẩn dựa trên các quy tắc truy vấn phương tiện.
tải nội dung cần thiết/classes/script như và chỉ khi các bang truyền thông truy vấn thay đổi. Ưu điểm của việc này là kinh nghiệm sẽ là tương đối nhiều các thiết bị loại trong câu hỏi:
- Nhiều phản ứng kinh nghiệm/kịp thời và tải các chức năng
- có khả năng ít băng thông
- Một kinh nghiệm thiết kế chặt chẽ hơn đối với mỗi thiết bị loại
- Một số tài sản (images/nền vv) có thể được nạp một cách chọn lọc
Nếu bạn xem xét lựa chọn 2, thì có rất nhiều trình nạp tài sản mã nguồn mở cho phép bạn tải mã CSS và Javascript dựa trên các thay đổi trạng thái truy vấn phương tiện. [Lưu ý: Cần có thêm nỗ lực/thiết kế để sử dụng kỹ thuật này].
Một ví dụ đơn giản này sử dụng enquire.js (có những người khác bộ tải tài sản) sẽ cho phép bạn làm như sau:
<script type="text/javascript">
// MQ Mobile
enquire.register("screen and (max-width: 500px)", {
match : function() {
// Load a mobile JS file
loadJS('mobile.js');
// Load a mobile CSS file
loadCSS('mobile.css');
}
}).listen();
// MQ Desktop
enquire.register("screen and (min-width: 501px)", {
match : function() {
// Load a desktop JS file
loadJS('desktop.js');
// Load a desktop CSS file
loadCSS('desktop.css');
}
}).listen();
</script>
Vì vậy, nếu một trình duyệt là 501px trở lên trong chiều rộng, sau đó cả hai desktop.js
và desktop.css
sẽ tải - bật các tính năng/nội dung không có sẵn dưới 501px và không bắt buộc.
Cảm ơn! Thông tin tuyệt vời. – bbuller