设置user-scalable=yes,之后设置minimum-scale,即可放大;
minimum-scale的值为:(document.body.offsetWidth/page_width);
page_width是你页面的设计宽度,比如320
var px_ratio = typeof(window.devicePixelRatio)=='undefined'?1:window.devicePixelRatio; var page_width = 320;//页面dom的最大宽度 switch(px_ratio){ case 1: dpi = page_width*160/screen.width; break; case 1.5: dpi = page_width*240/screen.width; break; case 2: dpi = page_width*320/screen.width; break; default: dpi = page_width*120/screen.width; break; } function resetDpi(){ try{ if(navigator.appVersion.indexOf("Android")!=-1 ) { var objs = document.getElementsByTagName("meta"); for(var i=0;i<objs.length; i++) { if(objs[i].name=="viewport"){ objs[i].content = 'target-densitydpi=medium-dpi, width='+page_width+', initial-scale=1, user-scalable=yes, minimum-scale='+(document.body.offsetWidth/page_width)+', maximum-scale=5.0'; break; } } } }catch(e){ alert(e); } }
此手机的viewport的width是个摆设,支持320或者其它值,也就是说,320是一个效果,其它值的效果完全一样,initial-scale没效果!