2011-08-26 21 views
6

Ý tưởng là trang /something/index.html được tải. Nhưng, trước khi tôi hiển thị nó, phụ thuộc của nó (css và hình ảnh trong trường hợp này) được tải sẵn.Tôi làm cách nào (hoặc tôi nên) mở rộng Modernizr.load() để tải trước hình ảnh?

Modernizr.load({ 
    load: ['/something/styles.css', '/something/image1.jpg'], 
    complete: showFile 
});

Tôi đã xem xét plugin jQuery "imageLoaded" của Paul Irish, nhưng tôi thích sự đơn giản của việc sử dụng bộ nạp mà tôi đã có. Tôi biết YepNope (và Modernizr.load) không phải là nhà thiết kế làm trình tải trước chung, nhưng tôi cảm thấy đây là cách sạch nhất để làm điều này.

Sẽ đánh giá cao bất kỳ suy nghĩ nào về cách triển khai tải trước hình ảnh thành tập lệnh tải Modernizr/YepNope.

nz

Trả lời

6

Trên giấy tờ yepnope, nó được xác định rằng các tải trước! Tiền tố "nên" hoạt động trên một số loại mime khác.

Bạn có thể thử

Modernizr.load('preload!something/image1.jpg'); 

Công việc này đối với tôi.

Đừng quên để thêm plugin tiền tố (nếu không bạn sẽ nhận được một lỗi khi động cơ js cố gắng để thực hiện hình ảnh):

yepnope.addPrefix('preload', function (resource) { 
    resource.noexec = true; 
    return resource; 
}); 
+0

Tôi đã cố gắng tải trước gọi một chục lần và không bao giờ từng nghĩ rằng Tôi cần phải mở rộng yepnope với plugin (tôi chỉ giả định nó là một phần của kịch bản). Cảm ơn bạn đã chứng minh hiểu đọc của tôi không phải là nơi mà nó nên! – nathanziarek

+0

Điều đó thật dễ dàng, cảm ơn bạn! –

Các vấn đề liên quan