ユーザーがサイトにアクセスしたときに Retina ディスプレイ (または類似のもの) を搭載したデバイス (現在は iPhone4 のみ) を検出する検出スクリプトを作成しています。解像度が高いため、より高い解像度の画像/グラフィックをプッシュする必要があります。(PHP と JavaScript を使用して) 私が見つけることができる唯一の解決策はdevicePixelRatio
、Cookie を検出して設定することです。私が使用しているコードは次のとおりです。
<?php
$imgPath = "images/";
if(isset($_COOKIE["imgRes"])){
$imgRes = $_COOKIE["imgRes"];
if( $imgRes >= 2 ){
$imgPath = "images/highRes/";
}
} else {
?>
<script language="javascript">
var the_cookie = "imgRes="+window.devicePixelRatio+";"+the_cookie;
document.cookie = the_cookie;
location = '<?=$_SERVER['PHP_SELF']?>';
</script>
<?php
}
?>
これを行うためのより良い方法に遭遇した人はいますか、またはこのスクリプトを改善するための提案はありますか? このスクリプトは機能しますが、汚いと感じます。