检测对元视口缩放的支持

时间:2013-05-26 11:55:11

标签: javascript html5 responsive-design progressive-enhancement

是否可以检测浏览器是否会根据元视口元素缩放网站?

2 个答案:

答案 0 :(得分:1)

没有任何JavaScript方法可以检测是否将应用元视口。但是,您可以检查它是否通过头部内联js的两步过程应用,其方法如下:

<head>
<script>
  var clientWidth = document.documentElement.clientWidth;
</script>
<meta name="viewport" content="width=device-width,initial-scale=1">
<script>
  if (clientWidth !== document.documentElement.clientWidth){
  //device or browser support the meta-viewport which just changed the width
  }
</script>
</head>

在移动设备的大多数常见情况下,具有响应式设计,因为移动设备的初始/默认视口是980px(http://www.quirksmode.org/mobile/metaviewport/),这不是常见的桌面屏幕 - 在所有。目前没有桌面浏览器支持元视口。

我将使用此方法作为在这方面检测移动设备的因素。但是,值得注意的是有例外。因此,您无法单独依赖上述方法来处理所有设备。

e.g。使用Blackberry Playbook,默认视口大小已经匹配device-width, initial-scale=1的600x1024像素大小,因此尽管元视口重新缩放,clientWidth也不会改变。

答案 1 :(得分:0)

不,元视口元素只是告诉移动浏览器它应该如何处理当前页面。所以,这取决于你会做什么。

如果您将捕获调整大小事件,那么您可以使用一些javascript:

$(window).resize(function() {
    //resize just happened, pixels changed
});

或者,如果您只想在不同的屏幕尺寸上添加不同的样式,请在css文件中使用媒体查询,如:

@media only screen and (min-width : 30em) {
    body{font-size: 125%;}
}

@media only screen and (min-width: 37.5em) {
    body{font-size: 163%;}
} 
相关问题