Fancybox 2 を使用して画像のギャラリーをロードしています。イベント コールバックを使用しbeforeLoad
て、ユーザーのビューポート サイズに基づいてオンザフライで画像の URL を変更しています。画像がプリロードされていない限り (デフォルトではプリロードされています)、これは完全に機能します。
Fancybox を起動する元の画像をクリックすると、beforeLoad
イベントが 1 回起動され、ギャラリーにさらに 3 つの画像がプリロードされることに気付きました。これらのプリロードされたイメージは、beforeLoad
イベントを発生させません。ただし、「次へ」をクリックすると、beforeLoad
イベントが発生します。画像の URL を変更しているため、プリロードされた画像が実際に表示される画像とは異なることを意味します。これは帯域幅の浪費であり、ページの応答性が大幅に低下します。
理論的には、ページの読み込み時およびビューポートのサイズが変更されるたびに、ページ上のすべてのソース画像を変更できますが、このアプローチは好きではありません。beforeLoad
画像がプリロードされているときに起動する方法はありますか? preload
それともイベントをキャプチャする方法ですか?