4

<img>プリロードするには、DOM にを追加する必要がありますか?

$(function whenDOMIsHappy(){

  var $img = $('<img />')
    .load(loadHandler)
    .error(errorHandler)
    .attr({src:"squatchordle-squashgarden.jpg"});

  $img.appendTo('body .preloads'); // is this at all necessary?

});
// assuming <div class="preloads" style="display:none;"></div> exists in <body>.

この手法については、さまざまなメッセージが寄せられています。私はjQueryを使用していますが、質問はバニラの人々にも当てはまります。

これをすべての主要なブラウザーで機能させ続けることに興味があります。

4

3 に答える 3

2

要素を作成してから dom に追加するのではなく、javascript で新しい画像を初期化し、そのソースを画像の URL に設定してみませんか。このメソッドは、実際に要素に適用したり、dom でレンダリングしたりせずに、画像をロードする必要があります - まだ...ちょっと見てください:

someImageArray[0] = new Image();
someImageArray[0].src = "http://placehold.it/700x200/";

ここからは、javascript を使用してその画像を自由に処理できます。キャンバスに直接レンダリングするか、そこから要素を作成します。ただし、何もする必要がない場合もあります。他の ajax ベースのコンテンツで既に参照されているかどうかを教えてください。URL が同一であれば、ブラウザーはキャッシュされたバージョンを使用して dom を描画する必要があります。

これが、さらにいくつかのオプションを使用した事前読み込みに関する適切な記事への参照であることが、ここで役立つことを願っています...

于 2013-10-28T20:22:25.540 に答える