0

Google の助けを借りて、小さなプリローダー スクリプトを作成しました。

var i = 0;

function preloader() {

    imageObj = new Image();

    images = [
        'some/image1.jpg', 
        'some/image2.jpg',
        'some/image3.png',
        'and.png',
        'so.jpg',    
        'on.png'
    ];

    for (i = 0; i <= 20; i ++) {

      imageObj.src = images[i];

    }
}

head最大限の効果を得るには、この関数を HTML ファイル内で呼び出す必要があります。本当に宣言する必要がありvar i = 0;ますか? プリロードが完了したら、別の関数を起動するにはどうすればよいですか?

また、運営しているWebサイトでこの機能を実装する方法をお聞きしたいです。img100 個のタグを持つページがあるとします。ソースを手動でコピーしてimages配列に貼り付ける必要があると思いますよね?ループでそれを行うには、DOM の準備ができている必要があります。これは、画像の読み込みが既に開始されていることを意味しますか?

プリロードは SEO に影響しますか?

プリロードのより良い jQuery の方法があれば、それで問題ありません。

4

1 に答える 1

1

画像 SRC を同じ変数に割り当てているため、読み込みが完了していないため、新しいリクエストごとに前のリクエストがキャンセルされます。

これにも配列を使用できます。

imageObj = [];

...your code...

for (i = 0; i < images.length; i ++) {
      imageObj[i] = new Image()
      imageObj[i].src = images[i];
    }

いいえ、スクレイパーは画像ではなくページのテキストを見ているため、これは SEO には影響しません。DOM を操作していないため、DOM の準備が整う前にこれを実行できます。すべての画像はメモリ内にあります。

jQuery は単純に JavaScript でできており、この単純なコード ブロックの効率を向上させるものは何もありません。

于 2013-03-12T15:36:53.137 に答える