scale.fix.js
无意间在一个网站上看到的,本来是对另一个效果感兴趣的,结果看到这个放开来的js就读了一下。
var metas = document.getElementsByTagName('meta'); var i; if (navigator.userAgent.match(/iPhone/i)) { for (i=0; i<metas.length; i++) { if (metas[i].name == "viewport") { metas[i].content = "width=device-width, minimum-scale=1.0, maximum-scale=1.0"; } } document.addEventListener("gesturestart", gestureStart, false); } function gestureStart() { for (i=0; i<metas.length; i++) { if (metas[i].name == "viewport") { metas[i].content = "width=device-width, minimum-scale=0.25, maximum-scale=1.6"; } } }
这个js只做了一件事,如果设备是iphone的话,就把缩放设置为1.0,而一旦发生手势事件的时候就把缩放设置为0.25-1.6。
这种动态获取meta标签寻找viewport的方法还蛮独特的,以前没见过,记录一下。