我正在创建一个检测脚本,当用户到达我的网站时,它会嗅出任何带有视网膜显示屏(或类似设备)的设备(目前只有 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
}
?>
有没有人遇到更好的方法或有任何改进此脚本的建议。这个脚本确实有效,只是感觉很脏。
最佳答案
Brian Cray 的回答似乎是错误的。
在 javascript 中正确的做法是:
var retina = window.devicePixelRatio && window.devicePixelRatio >= 2;
关于php - 使用 PHP 和/或 JavaScript 进行 iPhone4 视网膜显示检测,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5914367/