使用javascript将视口最大比例1.0动态更改为1.5
我在iPhone上遇到了定位问题,。我在标题中使用了这个元标记使用javascript将视口最大比例1.0动态更改为1.5,javascript,jquery,iphone,jquery-mobile,Javascript,Jquery,Iphone,Jquery Mobile,我在iPhone上遇到了定位问题,。我在标题中使用了这个元标记 <meta id="extViewportMeta" name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no"> 我的站点中有一个隐藏的左导航。当我的左导航打开并尝试将方向从纵向更改为横向,然后再更改为纵向时,我的左导航现在部分可见。
<meta id="extViewportMeta" name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no">
我的站点中有一个隐藏的左导航。当我的左导航打开并尝试将方向从纵向更改为横向,然后再更改为纵向时,我的左导航现在部分可见。
您可以在此处访问/查看我的网站:以获得更清晰的图片
如何动态更改视口最大比例?如果我的方向是纵向的,我的最大比例必须是1.0,但在横向时,它必须是1.5。如何在javascript中实现这一点
这是我目前的代码:
var supportsOrientationChange = "onorientationchange" in window,
orientationEvent = supportsOrientationChange ? "orientationchange" : "resize";
window.addEventListener(orientationEvent, function() {
//alert('HOLY ROTATING SCREENS BATMAN:' + window.orientation + " " + screen.width);
var orientation = window.orientation;
if(orientation == 0) {
$('#extViewportMeta').remove();
$('head').append('<meta id ="extViewportMeta" name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.5, minimum-scale=1.0; user-scalable=0;">');
}else {
$('#extViewportMeta').remove();
$('head').append('<meta id ="extViewportMeta" name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0, minimum-scale=1.0; user-scalable=0;">');
}
}, false);
窗口中的var supportsOrientationChange=“onorientationchange”,
方向事件=支持或方向更改?“方向更改”:“调整大小”;
addEventListener(定向事件,函数(){
//警报(‘神圣旋转屏幕蝙蝠侠:’+window.orientation+“”+screen.width);
var方向=window.orientation;
如果(方向==0){
$('#extViewportMeta').remove();
$('head')。追加('');
}否则{
$('#extViewportMeta').remove();
$('head')。追加('');
}
},假);
我上面代码中的问题是,我能够将最大比例更改为1.5,但在横向时无法将其恢复为1.0。T_T.帮助任何人尝试从视口定义中删除
初始比例=1.0,最大比例=1.0,最小比例=1.0,用户可缩放=否
。我在我的页面中使用这样的设置,iPhone在方向改变时自动调整比例,而不使用任何javascript。它在iPhone上解决了我的问题,但现在在iPad上进行了测试,它保持了从纵向到横向的比例。即使是“刷新”按钮也不会将其还原回原始视图。我想我真的需要用js的方式来做这件事。只是无法绘制它。作为另一个选项,请尝试document.getElementById('extViewportMeta').setAttribute('content','width='+document.documentElement.scrollWidth)代码>,即指定内容的确切宽度,而不是“抽象”设备宽度。