这是元标记
<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=0">
问题- 当通过隐藏和取消隐藏容器更改方向时,我想强制重绘(以解决另一个问题)<div id="redraw>"
。然而,一旦发生重绘,Android 浏览器现在允许我放大,即使我已经设置了user-scalable=0
.
为什么是这样?我的猜测是 Android 通过设置更改了重绘的元标记user-scalable=1
。但事实并非如此,因为正如您在redrawOrientation()
下面的函数中看到的,我将元标记更改回默认值。我通过仅在横向上重绘来做到这一点。
这对我来说似乎是一个错误。任何人都可以提出这个问题的原因吗?
Javascript
function redrawOrientation() {
viewport = document.querySelector("meta[name=viewport]");
if (Math.abs(window.orientation) === 90) {
$('#redraw').hide().show(0);
viewport.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0');
alert("Landscape: maximum-scale=2.0");
} else {
//$('#redraw').hide().show(0);
viewport.setAttribute('content', 'width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0');
alert("Portrait: maximum-scale=1.0");
}
}
window.onorientationchange = redrawOrientation;
HTML
<div id="redraw">
<div id="sidebar"></div>
<div id="content"></div>
</div>