Javascript 检测对元视口缩放的支持

Javascript 检测对元视口缩放的支持,javascript,html,responsive-design,progressive-enhancement,Javascript,Html,Responsive Design,Progressive Enhancement,是否可以检测浏览器是否会基于元视口元素缩放网站?否,元视口元素只是告诉移动浏览器它应该如何处理当前页面。所以,这取决于你将要做什么 如果要捕获调整大小事件,则可以使用一些javascript: $(window).resize(function() { //resize just happened, pixels changed }); 或者,如果您只想在不同的屏幕大小上添加不同的样式,请在css文件中使用媒体查询,如: @media only screen and (min-widt

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

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

如果要捕获调整大小事件,则可以使用一些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%;}
} 

没有任何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>

var clientWidth=document.documentElement.clientWidth;
if(clientWidth!==document.documentElement.clientWidth){
//设备或浏览器支持仅更改宽度的元视口
}
这在移动设备上最常见的情况下适用于响应性设计,因为移动设备的初始/默认视口是980px(),它根本不是一个普通的桌面屏幕。当前没有任何桌面浏览器支持元视口

在这方面,我将使用此方法作为检测移动设备的因素。然而,值得注意的是,也有例外。因此,不能对所有设备单独依赖上述方法

e、 g.对于Blackberry Playbook,默认视口大小已经与设备宽度的600x1024像素大小相匹配,初始比例=1,因此尽管元视口重新缩放,clientWidth也不会改变