WordPressのブログ記事内に設置した画像を簡単にRetinaディスプレイ対応させる方法の紹介です。jQueryを使ってRetinaディスプレイの時だけ画像を差し換えるという方法で、これはStocker.jpさんが考案したものです。
記事内に設置している画像をRetinaディスプレイに対応させる方法
</body>の直前に以下のコードを追加します。</body>の直前なので、footer.phpを編集します。
// Retinaの場合、記事の画像を高解像度のものに差し替え
$(function(){
// devicePixelRatio の値が2以上であれば
if (window.devicePixelRatio >= 2) {
// .entry-content 内の img の親要素の a
var a = $(".entry-content img").parent("a");
$.each(a, function(i, value) {
var imgpath = value.pathname;
// href の属性値の最後が .jpg .jpeg .gif .png のいずれかであれば(大文字小文字は問わない)
if (imgpath.match(/\.(jpe?g|gif|png)$/g)) {
// img src 属性値を href 属性値と同じにする
$(value).children("img").attr("src", imgpath);
}
});
}
});
Retinaディスプレイの時は、画像のリンク先の元画像を表示するという仕組みになっています。
そのため、元画像の解像度が低ければあまり意味はありません。アップロードしている画像の解像度が、表示している画像の2倍以上の時に効果を発揮しますね。
あとがき
サクッとRetina対応したい時は、ぜひお試しください。

