我正在为企业开发网站。无论如何,它都不是一个网络应用程序,但我希望它在移动设备上看起来不错,而不是简单地扩展桌面版本。在对媒体查询和响应式/自适应设计方法进行大量研究之后,我的要求是移动布局只有在用户真正在小屏幕上时才会启动,而不仅仅是调整桌面窗口的大小,解决方案很简单,可以通过媒体来完成查询和最少的 javascript。
我想出的方法是这样的:
<script type="text/javascript">
var isRetina = window.devicePixelRatio > 1 ? true : false;
var isMobile = (screen.width < 768) ? true : false;
if (isMobile && isRetina) {
SHOW MOBILE LAYOUT AND HI-RES IMAGES
} else if (isMobile && !isRetina) {
SHOW MOBILE LAYOUT AND LO-RES IMAGES
} else if (!isMobile && isRetina) {
<<SHOW HI_RES IMAGES>>
} else if (!isMobile && !isRetina) {
SHOW DESKTOP LAYOUT AND LO-RES IMAGES
}
</script>
在我采用这种方法之前,我想我会检查一下,看看是否有问题或可怕的陷阱在等着我。或者,如果有更简单/更好的方法来实现这个目标。我在 SO 上搜索了一堆,但没有看到任何提及使用这个完全相同的解决方案。