勉強したことのメモ

Webエンジニア / プログラマが勉強したことのメモ。

javascriptやjQueryで画像を書き換えても変わらない場合

   2024/02/28  jQuery JavaScript

けっこう前に画像をアップロードしてリアルタイムにプレビューする機能を作った時に、ブラウザによっては同じ画像が表示されるという現象が発生していた。キャッシュが原因のようで画像URLにタイムスタンプを付与することで解決できた。以下に対応方法をメモ。

 

ソースコード

var timestamp = new Date().getTime();
$('#img-id').attr('src', $('#img-id').attr('src')+'?'+timestamp);

timestamp部分はJavaScriptで取得しているがjQueryの場合は以下でも取得できる。

var timestamp = jQuery.now();

 

リファレンス

https://api.jquery.com/jQuery.now/

 

PHPでタイムスタンプを付けたい場合

imgタグのsrc属性のURLにPHPでタイムスタンプを付与しキャッシュ対策する方法

 - jQuery JavaScript

  関連記事

JSやjQueryで動的に追加した要素に対して「slick」でスライダーを実行する方法

外部サーバからAjax等で画像URLを取得したものをimgタグとしてページ内に描 ...

jquery.snipeの使い方

使い方によっては面白くなりそう。 ■jquery.snipe http://ra ...

「slick」でarrows(次に進む・前に戻るボタン)を設定しても表示されない場合の対応方法

「slick」で画像スライダーを表示する際にarrows(次に進む・前に戻るボタ ...

Lightboxで画像拡大時にダウンロードリンクを設置する方法

Lightboxで画像拡大時にダウンロードリンクを設置したいと要望を受けた。もち ...

Ajaxでプラグイン無しのファイルアップロード方法

画像ファイルを添付できて、尚且つAjaxを用いた非同期通信のフォームを作りたかっ ...