Giter Site home page Giter Site logo

do not cache events? about imagesloaded HOT 5 CLOSED

desandro avatar desandro commented on June 12, 2024
do not cache events?

from imagesloaded.

Comments (5)

darsain avatar darsain commented on June 12, 2024

The events cache is stored per page load, so next page refresh will load fixed images without any problems. The cache is there only for multiple imagesLoaded calls with overlapping image sets. For example, if I'll do something like this:

$('img').imagesLoaded( fn );
// ... some time later ...
$('#container img').imagesLoaded( fn );

The second imagesLoaded call on $('#container img') will work with stored events instead of refreshing all cached images.

Also, cached events are stored per image DOM element, so if you want to refresh the image with JavaScript, either replace the element itself, or you can clear the cache for that particular image with:

$.removeData( imgElement, 'imagesLoaded' );

I think I'll update README with events caching documentation.

from imagesloaded.

darsain avatar darsain commented on June 12, 2024

Behavior added to README.

from imagesloaded.

ryrych avatar ryrych commented on June 12, 2024

Though I understand you, I think that removing data to be able to load an image once again is too complicated. If I were you, I would not cache ‘error’. At least error. But I’m not sure how browsers handle loading images. Perhaps your solution is better. :)

from imagesloaded.

darsain avatar darsain commented on June 12, 2024

You can still reload any image. You have to remove the 'imagesLoaded' data key only if you plan on calling imagesLoaded on the stack with that particular image again within the same page load.

It has no effect on refreshing the page, it has no effect on adding new images, it has even no effect on changing the src attribute (src is stored as well, and if another call recognizes that src has changed, it won't use cached state).

Plus, everyone once they know that image is broken either replaces the image with placeholder, or removes the image completely. I've yet to see any developer who would be running loop to cycle reload broken images until they are properly loaded. That's just retarded :)

from imagesloaded.

ryrych avatar ryrych commented on June 12, 2024

You can still reload any image. You have to remove the 'imagesLoaded' data key only if you plan on calling
imagesLoaded on the stack with that particular image again within the same page load.

I think we’re getting to nitty-gritty. :)
I thought the following way:

• load e.g three images: img01, img02, img03
• img02 failed to load
• you DO NOT load the same stack again but only the image that had failed

Sorry if my thinking is a bit academic. :) I just want to be sure that I understand the code. :)

from imagesloaded.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.