Update: embedded images in Twine 1.4 do not need to be preloaded, so this is not necessary if you are using those.
If you use a lot of images in your Twine game, it would be very good of you if you preloaded them at the start of the game - having to wait for images to load during a story, even momentarily, can be distracting.
Now you could bother to convert them all to inline Base64, but there's other, less intrusive ways. You could, rather, put every image in your story in invisible img tags in the Start passage:
<html> <img src=" [url of an image ] " style="display:none;" > ... </html>
(function(){var r="";var s=Wikifier.formatters;for(var j=0;j<s.length;j++){if(s[j].name=="image"){r=s[j].lookahead; break;}}var div=document.getElementById("storeArea").firstChild.nextSibling;while(div){if(r){k(new RegExp(r,"mg"),4); }var b=String.fromCharCode(92);var u=b+"s*['"+'"]?([^"'+"']+(jpe?g|a?png|gif|bmp))['"+'"]?'+b+"s*"; k(new RegExp("url"+b+"("+u+b+")","mig"),1);k(new RegExp("src"+b+"s*="+u,"mig"),1); div=div.nextSibling;}function k(c,e){do{var d=c.exec(div.innerHTML);if(d){var i=new Image(); i.src=d[e];}}while(d);}}());
That's all.
Update 17/2/13: This now works with images in HTML <img> tags as well.
Update 12/2/13: This will now also preload images used in CSS url( ... )
values. It will search for such values in every passage, include the stylesheet passages, script passages, and inline JavaScript.
Version history: