Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/88.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用javascript将视口最大比例1.0动态更改为1.5_Javascript_Jquery_Iphone_Jquery Mobile - Fatal编程技术网

使用javascript将视口最大比例1.0动态更改为1.5

使用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"> 我的站点中有一个隐藏的左导航。当我的左导航打开并尝试将方向从纵向更改为横向,然后再更改为纵向时,我的左导航现在部分可见。

我在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">

我的站点中有一个隐藏的左导航。当我的左导航打开并尝试将方向从纵向更改为横向,然后再更改为纵向时,我的左导航现在部分可见。 您可以在此处访问/查看我的网站:以获得更清晰的图片

如何动态更改视口最大比例?如果我的方向是纵向的,我的最大比例必须是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),即指定内容的确切宽度,而不是“抽象”设备宽度。