我正在做一个使用 iOS 设备启动图像功能的网页。对于这个任务,我使用了放置在页脚上的代码,该代码使用 javascript 检测 iOS 设备是什么,然后为其加载启动图像。通过这种方式,该站点节省了大量带宽,因为它只下载一张图片而不是四张。
但是随着 iPhone 5 的新屏幕尺寸,我的代码需要一些更改,但我不知道如何做这些。
这是代码:
<script>
(function(){
var p,l,r=window.devicePixelRatio;
if(navigator.platform==="iPad"){
p=r===2?"http://example.com/ipad-portrait-retina.jpg":"http://example.com/ipad-portrait-non-retina.jpg";
l=r===2?"http://example.com/ipad-landscape-retina.jpg":"http://example.com/ipad-landscape-non-retina.jpg";
document.write('<link rel="apple-touch-startup-image" href="'+l+'" media="screen and (orientation: landscape)"/><link rel="apple-touch-startup-image" href="'+p+'" media="screen and (orientation: portrait)"/>');
}
else{
p=r===2?"http://example.com/iphone-retina.jpg":"http://example.com/iphone-non-retina.jpg";
document.write('<link rel="apple-touch-startup-image" href="'+p+'"/>');
}
})
</script>
如您所见,这项工作适用于 iPad/iPhone,具有设备方向和设备像素比的变量。但问题是,对于具有视网膜显示屏的 iPhone,没有变量来确定是 i5 还是 i4/4S,所以它只下载 960x640 iPhone 的图像。
您对如何包含设备屏幕尺寸的变量有任何线索吗?