4

ページをリロードせずに JavaScript を使用して、このイメージをリロードしてサーバーから新しいイメージを取得するにはどうすればよいですか?

<img src="?option=com_fcse&task=getimage&width=100&height=40&characters=5&r=<?php echo mt_rand(0, 10000000); ?>" />

ありがとうございました

4

3 に答える 3

2

これはそれを行う必要があります:

thatImgObj.src = thatImgObj.src.replace(/&r=\d+/, "&r="+ ~~(Math.random()*1e7));

(もちろん、1e-7 で同じキャッシュブレーカーが再度発生する可能性があります。タイムスタンプの方が適切なオプションになる可能性があります)。

于 2013-05-02T08:07:44.427 に答える
1

私が思う最も簡単な方法はsrc、Javascript で属性を変更することです。以下のようなので:YouImageElement.src += "&rand2"+Math.random();

属性を変更するsrcと画像がリロードされ、別の乱数がクライアント側に設定されているため、キャッシュするべきではありません。

于 2013-05-02T08:05:49.357 に答える
1

あなたのコード

追加した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 の最後にキャッシュブレーカーを追加しました

于 2013-05-02T08:07:59.230 に答える