ページをリロードせずに JavaScript を使用して、このイメージをリロードしてサーバーから新しいイメージを取得するにはどうすればよいですか?
<img src="?option=com_fcse&task=getimage&width=100&height=40&characters=5&r=<?php echo mt_rand(0, 10000000); ?>" />
ありがとうございました
ページをリロードせずに JavaScript を使用して、このイメージをリロードしてサーバーから新しいイメージを取得するにはどうすればよいですか?
<img src="?option=com_fcse&task=getimage&width=100&height=40&characters=5&r=<?php echo mt_rand(0, 10000000); ?>" />
ありがとうございました
これはそれを行う必要があります:
thatImgObj.src = thatImgObj.src.replace(/&r=\d+/, "&r="+ ~~(Math.random()*1e7));
(もちろん、1e-7 で同じキャッシュブレーカーが再度発生する可能性があります。タイムスタンプの方が適切なオプションになる可能性があります)。
私が思う最も簡単な方法はsrc
、Javascript で属性を変更することです。以下のようなので:YouImageElement.src += "&rand2"+Math.random();
属性を変更するsrc
と画像がリロードされ、別の乱数がクライアント側に設定されているため、キャッシュするべきではありません。
あなたのコード
追加したid="img1"
<img id="img1" src="?option=com_fcse&task=getimage&width=100&height=40&characters=5&r=<?php echo mt_rand(0, 10000000); ?>" />
JS コード:
var newImage = new Image();
newImage.src = document.getElementById("img1").src + "&_=" + new Date().getTime();
URL の最後にキャッシュブレーカーを追加しました