2 js093882 js093882 于 2014.11.14 00:12 提问

如何用js恢复手机浏览器页面到初始的缩放比例

有一个手机上浏览的网页,我通过手势把页面放大了(没有写相关的手势控制代码,是手机浏览器自带的手势缩放功能),经过测试发现它实际是改变了浏览器的window.innerWidth/window.innerHeight这两个属性的数值,而window.outerWith/window.outerHeight都没有变化。那么问题来了,有没有方法 用js 把浏览器恢复到初始比例呢?
我已经尝试过下面的方法,都不行:
1.直接修改window.innerWidth/window.innerHeight这一对值,没有任何变化
2.window.resizeTo():只有部分手机浏览器支持,而且缩放后浏览器自带的手势控制缩放功能失效了;
3.css3的transform:scale():这个好像只能操作页面Dom元素,最多只能对body进行缩放,貌似浏览器并没有缩放,而且这样缩放后发现window.innerWidth/window.innerHeight这两个值没有任何变化;
4.js动态改变viewport的值,还是没反应。。。
被这个问题困扰好就了,有没有大神给我指点一下?

1个回答

save4me
save4me   Ds   Rxr 2014.11.19 14:04
yupanxinkuang4417
yupanxinkuang4417 回复呱呱么: 最后是怎么解决这个问题的啊
接近 2 年之前 回复
u012125406
u012125406 回复码出春天: 现在找到方法了,最近也遇到这个问题
大约 2 年之前 回复
js093882
js093882 谢谢你的回答。这两篇文章我都看了,也试过,js动态改变viewport的方法不行。改viewport的时候页面是有变化,但页面的缩放比例没有变,浏览器和页面还是可以继续缩小。 我想达到的效果是能在浏览器通过手势放大后,通过js能使它还原为页面刚加载时的样子(比如还原后浏览器不能通过手势继续缩小了,跟没用手势放大前一样的效果)......哎,貌似做不到
3 年多之前 回复
Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
手机浏览器禁止缩放
-
百度地图设置缩放比例
BaiduMap.setMapStatus(MapStatusUpdateFactory.zoomTo());当参数为4及以下时地图上每厘米的长度为1000公里,5则是500公里,依次缩放。15是500
js实现放大缩小页面
js实现放大缩小页面 在firefox,chrom,ie11测试过可以,其它未测 var size = 1.0;   function zoomout() {    size = size + 0.1;    set();  }   function zoomin() {    size = size - 0.1;    set();   }   func
纯js 放大镜代码,可缩放 兼容主流浏览器
纯js 放大镜代码 可用鼠标滚轮缩放 兼容主流浏览器 具体需自己优化哦
手机端web研发(即在手机上用浏览器进行访问的研发),研发环境搭建,涉及的几个技术,node.js,npm,ionic,vscode
手机端web研发(即在手机上用浏览器进行访问的研发),研发环境搭建,涉及的几个技术,node.js,npm,ionic,vscode  1 node.js 1)node.js是一个服务器端(这个如何理解?)的JavaScript脚本。 2npm是包管理工具,类似于maven。随着node.js的安装而被默认安装。 3ionic 是一个前端UI框架。
mobile响应式页面meta信息相关记录
1 <meta name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; maximum-scale=1.0;" /> width:控制 viewport 的大小,可以指定的一个值,如果 600,或者特殊的值,如 device-wi
js缩放网页比例
将当前网页缩放比变为200%document.getElementsByTagName('body')[0].style.zoom=2原文链接:https://segmentfault.com/q/1010000007208897
设置百度地图默认缩放距离
MapStatus.Builder builder = new MapStatus.Builder();builder.target(ll).zoom(18.0f);mBaiduMaps.animateMapStatus(MapStatusUpdateFactory .newMapStatus(builder.build())); 这是50米
网页在一些原生手机浏览器上面出现兼容问题
**重点内容**因为一些原生的手机浏览器的内核版本比较低,不兼容后面出来的js关键词原因导致的,解决方案就是要么用微信打开网页,微信自带的浏览器一般是没问题的,要么就把那些后面版本的关键字用原生的代替,常见的导致这个问题的关键字,let,const...因为手机调试网页很麻烦,如果做兼容性测试,最简单的就是下载一个IE8的浏览器,如果在浏览器上能够正常显示手机上一般也是没问题的,通过IE8看cons
设置百度地图的缩放比例
设置百度地图的缩放比例 if (isFirstLoc) { isFirstLoc = false; LatLng ll = new LatLng(location.getLatitude(), location.getLongitude()); // MapStatusUpdate u = MapStatusUpdateFactory.newLatLng(ll); // 设置缩放比例,