php - 使用 PHP 和/或 JavaScript 进行 iPhone4 视网膜显示检测

标签 php javascript iphone browser-detection retina-display

我正在创建一个检测脚本,当用户到达我的网站时,它会嗅出任何带有视网膜显示屏(或类似设备)的设备(目前只有 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/

相关文章:

php - 我应该使用 php 邮件功能还是 phpmailer?

php - 使用 php GD 库输出带下划线文本的图像

java - 压缩和解压缩文本从 html 到服务器,反之亦然

javascript - 使用 Jquery 获取表单字段值时检查表单字段是否为数字

iphone - 我在哪里可以找到在 Xcode 5 中运行 iOS 7.0 的非视网膜 iPhone 模拟器?

iphone 删除下一个字符串 - 在特定字符串出现后保留字符串的其余部分

php - 在 EventListener 中添加表单错误

php - sugarcrm:向关系添加额外字段

javascript - JS 引用错误会停止运行时线程执行吗?

ios - 如何使用 NSAttributedString 在 Swift 中将图像添加为文本附件?