<img src="test.php" />
donde test.php genera una imagen con un número aleatorio.Cómo actualizar el src de <img /> con jQuery?
Itried:
Pero no funciona.
<img src="test.php" />
donde test.php genera una imagen con un número aleatorio.Cómo actualizar el src de <img /> con jQuery?
Itried:
Pero no funciona.
Puede forzar una actualización añadiendo una cadena aleatoria al final, cambiando así la URL:
$('#verifyimage').click(function() {
$(this).attr('src', $(this).attr('src')+'?'+Math.random());
});
Añadir una marca de tiempo o un número aleatorio:
var timestamp = new Date().getTime();
$(this).attr('src',$(this).attr('src') + '?' +timestamp);
¡La marca de tiempo es una mejor solución! No puedes confiar en el azar para no ser el mismo a veces. – jerwood
intentó esto pero teniendo problema en Chrome. Image src se adjunta con la marca de tiempo, pero la miniatura no se actualiza. ¿Puede sugerirme algo sobre esto? –
@RohanPatil - Aquí hay un problema obvio: desea ** agregar o actualizar ** un parámetro ** de consulta ** - este código es solo una solución parcial - supone que no hay parámetros de consulta para comenzar (además , Sospecho que solo funciona una vez). – Kobi
En conjunto prueba.php los encabezados de Content-Type:
a image/jpeg
Tomando gran respuesta de KPrimes y agregando la sugerencia de los rastreadores, esto es lo que se me ocurrió:
jQuery(function($) {
// we have both a image and a refresh image, used for captcha
$('#refresh,#captcha_img').click(function() {
src = $('#captcha_img').attr('src');
// check for existing ? and remove if found
queryPos = src.indexOf('?');
if(queryPos != -1) {
src = src.substring(0, queryPos);
}
$('#captcha_img').attr('src', src + '?' + Math.random());
return false;
});
});
Eww. No, no. Establezca en su lugar los encabezados de respuesta de caché apropiados en el servidor. –
'Cache-control',' Expires', et al. solo funciona una vez que se recibe una solicitud HTTP; lo anterior es simplemente para forzar al cliente a realizar esa solicitud. En ausencia de 'Image.reload' (AFAIK), este era el método más simple para hacer una nueva solicitud. –
sugeriría subserie en el atributo src a"? " de modo que después de la primera vez, no se sigan agregando más datos de cadena de consulta ... – Tracker1