2

問題の解決策を見つけていますが、探しているものが見つかりません。

さて、ウェブカメラから5秒ごとに取得された「ライブ画像」を含むウェブページがあり、FTPを使用して画像をアップロードし、古い画像を新しい画像に置き換えます。私の問題は、FTPが転送の途中で画像が切り捨てられることがあるということです。そのため、画像が「更新」されていない場合、画像が表示されている場合などに言いたいです。これが私のコードです:

setInterval(function(){
   $("#imagerefresh").attr("src", "images/image_1.jpg?"+new Date().getTime()).load();
},5000);

画像がロードされているかどうかを確認する方法を尋ねた多くの投稿を見つけて試してみましたが、次のように一度だけ実行されます。

setInterval(function(){
   $("#imagerefresh").load(function(){
      $("#imagerefresh").attr("src", "images/image_1.jpg?"+new Date().getTime());
   })
 },5000);
4

2 に答える 2

1

これを試して:

setInterval(function() {
    $("#imagerefresh").load(function() {
        console.log("image loaded correctly");
    }).error(function() {
        console.log("error loading image");
        $(this).unbind("error").attr("src", $(this).attr("src"));
    }).attr("src", "images/image_1.jpg?" + new Date().getTime());
})
}, 5000);​
于 2012-12-10T18:30:16.303 に答える
0

jQuery からエラー イベントを使用すると、おそらくうまくいくので、次のようになります。

function load() {

    $("#imagerefresh").attr("src", "images/image_1.jpg?"+new Date().getTime());

    $("#imagerefresh").error(function(){
        load();
    }).load(function(){
        setInterval(load(), 5000);
    });

}
于 2012-12-10T18:09:50.127 に答える