所以我相信你对ipad在旋转时遇到的一个小问题很熟悉。当用户旋转 ipad 时,希望保持初始比例,并在重新渲染时最终放大。
很多人建议用这个来解决
<meta name="viewport" content="width=device-width, maximum-scale=1.0, initial-scale=1.0"/>
效果很好,只是它不再允许用户放大和缩小网站。我很好奇是否有办法检测方向变化交换视口信息然后重置。
例如
在加载我的视口将是
<meta name="viewport" id="view-port" content="width=device-width, initial-scale=1.0"/>
然后理论上有一些 js 做这样的事情:
window.onorientationchange = function() {
$("#view-port").attr("content", "width=device-width, maximum-scale = 1.0, initial- scale= 1.0");
setTimeout("resetMetaTag()", 500);
};
var resetMetaTag = function() {
$("#view-port").attr("content", "width=device-width, initial-scale= 1.0");
console.log($("#view-port").attr("content"));
};
这不起作用,因为它不是在确定方向之前交换视口,而是异步进行。有没有办法检测一种“即将旋转”或在重新渲染屏幕之前插入一个功能?
这会有很大帮助。