jQueryを使わずに画像の先読み(プリロード)
function preLoadImages() { for (var i = 0, I = arguments.length; i < I; ++i) { new Image().src = arguments[i]; } } preLoadImages("image1.gif", "/path/to/image2.png");
jQueryには何も依存していない(jQueryのAPIを使わずにcreateElementを使うくらい)のに、どうしてjQueryプラグインにしてしまったんだろう。プリロードのためだけにjQueryを読み込ませるページは増えてほしくない。
あと、リンク先のスクリプトでは、生成したimage要素を配列に格納して、いわゆるクロージャに閉じ込めて破棄されないようにしているけど、これは必要なのかな。IE6、IE8、Firefox・Opera・Chromeの最新版(いずれもWindows)で確認した限りはしなくても問題なかった。むしろ、古いブラウザではメモリリークしてしまうのでよくないと思う。勘違いしていた。メモリリークパターンではない。