1
リンク上にマウスが移動したときに表示されるカメラ画像へのライブリンクがあります。私は、setIntervalのために数秒ごとにロードされるイメージのGETでいっぱいになるサーバーログを好きではありませんでした。clearIntervalはリダイレクトを引き起こしますか?
そこで、setIntervalとclearIntervalに対してonmouseoverイベントとonmouseoutイベントを追加しました。これにより、サーバーログのイベント数が減少します。しかし、イベントが発生するたびに、私は200と301のコードを取得します。
私はマウスイベントを追加する前に、setIntervalから200コードしか取得できませんでした。私の質問は、301リダイレクトを停止する方法はありますか、それを引き起こしているclearIntervalですか?
var hold = null;
document.getElementById("test1").onmouseover = function() {
mouseOver()
};
document.getElementById("test1").onmouseout = function() {
mouseOut()
};
function mouseOver() {
var imgname = document.getElementById('imgfeed').src.split("?");
hold = setInterval(function() {
document.getElementById('imgfeed').src = imgname[0] + "?xrand=" + Math.floor((Math.random() * 1000) + 1);
}, 10000);
}
function mouseOut() {
clearInterval(hold);
}
.feedbtn:hover+.livefeed,
.feedbtn:active+.livefeed {
display: block;
}
.livefeed {
display: none;
}
<body>
<div id="test1">
<ul>
<li><a class="feedbtn">LINK</a>
<div class="livefeed">
<img src="link to camera image" alt="Feed" id="imgfeed" />
</div>
</li>
</ul>
</div>
</body>
レスポンスコードは、主に 'link to camera image'が指しているところで制御されます。おそらく、ホスティング業者は、あなたのブラウザがライブフィードをキャッシュしないように、ハッキーな方法としてそれを使用しています。 'clearInterval'と' setInterval'の使用はイメージホストのレスポンスヘッダとは関係ありません。 –
なぜ 'setInterval'を使うのですか?それはランダムな画像を取得するために使われますか? – ewwink
setIntervalはイメージを更新するために使用されます。 – mcos