Browsers are pretty smart, and they generally won't cache things that aren't actually getting displayed on screen. Here's a post on the old forum archive describing how something like this might be done. I recommend reading the whole thing for a better idea of all your options, as the conversation evolves as it goes.
I wouldn't worry too much about people who have disabled caching--they generally know what they've signed up for. That said, the method described near the end of the conversation creates a box in every passage that holds images: the cache shouldn't be necessary, but will help speed up start-up times on loading up your game after the first time.
I use a system similar to this in one of my projects, so let me know if you need any help implementing it.