2

JQueryを使用してimgタグからsrc属性を毎秒変更しようとしています。Google Chrome でうまく機能し、毎秒新しい画像が表示されます。ただし、Firefox や iPad では動作しません。画像を一度だけ変更します。

これは私が使用しているコードです:

$(document).ready(function(){
    function refreshIMG(){
        $("#camara").attr("src", "localhost:4000");
    }
});
window.setInterval(refreshIMG, 1000)

localhost:4000 でトルネード サーバーを実行し、openCV を使用してウェブカメラの画像を保存しています。Google Chrome で動作するため、これが機能していることはわかっており、画像を HDD に保存しています。また、refreshIMG関数にalert("test")を追加すると、firefoxとiPad2に毎秒アラートが表示されますが、画像は変わりません。

Firefox 11、iOS 5.1 搭載の iPad、Chrome 18 でテスト済み。Ubuntu 11.10

4

1 に答える 1

6

これらの他のブラウザが src が同じであることを検出しているので、何も変更されない可能性はありますか?

?time=" + new Date().getTime()src に追加してみてください。また、DOM の準備ができていないために存在する前に実行しようとする場合に備えて、setInterval内部を移動することをお勧めします (可能性は低いですが、良い方法です)。最終製品は次のようになります。$(document).ready()refreshIMG()

$(document).ready(function(){
    function refreshIMG(){
        $("#camara").attr("src", "localhost:4000?time=" + new Date().getTime());
    }
    window.setInterval(refreshIMG, 1000);
});

これにより、これらのブラウザは「騙されて」、まったく別の画像であると認識され、更新される可能性があります。

それ以外の場合は、コンテンツのみが存在するページへの AJAX 呼び出しを試行し、<img src="localhost:4000">その HTML を現在の画像の HTML に置き換えます。

于 2012-04-07T01:14:27.853 に答える