javascriptやjQueryで画像を書き換えても変わらない場合
2024/02/28
けっこう前に画像をアップロードしてリアルタイムにプレビューする機能を作った時に、ブラウザによっては同じ画像が表示されるという現象が発生していた。キャッシュが原因のようで画像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でタイムスタンプを付けたい場合
関連記事
-
-
WordPressのMedia Library Organizerでダイアログ初回表示時のカテゴリを指定する方法
Media Library Organizerを使用中のWPサイトで画像をカテゴ ...
-
-
フォームで画像をとりあつかう際にBase64エンコードした上で送信する方法
PHP等サーバサイド系の言語は利用不可(JSは利用可)な環境でformを作成し画 ...
-
-
JavaScriptにて画像をフルスクリーン表示する方法
JavaScriptにて画像をクリックするとフルスクリーン表示させたかった。ただ ...
-
-
Dropzone.jsを使って画像をドラッグ&ドロップでアップロードする方法
画像を複数枚ドラッグ&ドロップでアップロードしたかった。だいぶ前にDro ...
-
-
JavaScriptで画像読み込み完了のタイミングを検知する「imagesLoaded」ライブラリの利用方法
大き目のサイズの画像をページに設置すると読み込み完了まで時間がかかる。その画像が ...