如何在ipad中调整网页大小/缩放
how to resize / rezoom webpage in ipad
我有一个网站,使用jquery移动为它的移动版本。我有一个问题,当我把它从纵向改为横向,它放大正确,但当我翻转到纵向,它保持相同的缩放水平,然后更宽的视图,这破坏了用户体验。我用regular:
<meta name="viewport" content="width=device-width, initial-scale=1">
我所做的所有搜索中的,这个应该做。不幸的是,这对我不起作用。
这是我的问题,我可以使用onorientationchange事件来触发页面的大小调整,我只是不知道如何去做。你能帮忙吗?
注:网站在这里,如果你想偷看一下http://tmg.dev.dakic.com/mobile
谢谢你,泽尔科-
试试这个,我有一个类似的问题:
$(window).bind('orientationchange', function(event) {
if (window.orientation == 90 || window.orientation == -90 || window.orientation == 270) {
$('meta[name="viewport"]').attr('content', 'height=device-width,width=device-height,initial-scale=1.0,maximum-scale=1.0');
$(window).resize();
$('meta[name="viewport"]').attr('content', 'height=device-width,width=device-height,initial-scale=1.0,maximum-scale=2.0');
$(window).resize();
} else {
$('meta[name="viewport"]').attr('content', 'height=device-height,width=device-width,initial-scale=1.0,maximum-scale=1.0');
$(window).resize();
$('meta[name="viewport"]').attr('content', 'height=device-height,width=device-width,initial-scale=1.0,maximum-scale=2.0');
$(window).resize();
}
}).trigger('orientationchange');
尝试在某些情况下使用resize()函数:
$(window).resize();
我通常使用orientationchange
事件向内容添加/删除CSS类,然后从那里开始,而不是重新调整视口的大小。苹果提供了一些独立的示例代码,尽管我记得它只包括90°和0°方向-你也需要-90°和180°,如@zyrex评论。
iPhoneOrientation示例代码(developer.apple.com)
每条评论更新:澄清一下,我没有重新调整HTML实体本身的大小,而是更改正在使用的类,并依赖CSS相应地设置样式。举一个简单的例子,假设我想根据设备方向在body
元素上的两个类之间切换,我会在Javascript中这样做:
window.onorientationchange = updateOrientation;
// (Might want to do this onload too)
function updateOrientation(){
var o = window.orientation, body = document.querySelector('body');
switch(o){
case 0: case 180:
body.className = 'portrait';
break;
case 90: case -90:
body.className = 'landscape';
break;
}
}
…和类似这样的默认标记:
<body class="portrait">
<!-- stuff here -->
…,然后CSS做任何需要的,例如。body元素的background
:
body {background: url('images/something.png') no-repeat}
body.portrait {background-position: 30% 50%}
body.landscape {background-position: 10% 25%}
更新# 2 您可能还需要修改元标记中的maximum-scale
指令。Mobile Safari在从纵向切换到横向时通常会进行缩放,而不是重新进行页面布局,这可能就是你所看到的。
maximum-scale
值阻止了这种情况,但您应该注意,这也意味着用户不能执行正常的捏缩操作。下面是标签的样子:
<meta name="viewport" content="initial-scale=1, maximum-scale=1">
一定要在这里检查答案:
如何在iPhone上改变方向时重置web应用的缩放/缩放?
似乎没人知道。从我所看到的,页面上的内容比设备宽度更宽,这就是问题的根源。然而,如何着手解决这个问题仍然不是很清楚。
- 更改高贴图的缩放级别
- 在不阻止默认行为的情况下检测IE10中的缩放
- 单击超链接时,如何使用Google Maps API v3缩放地图
- 缩放Raphael/SVG容器以适应所有内容
- 刷新网页时保持缩放
- 网页调整缩放显示
- 阻止Windows 8上IE中的网页缩放/调整大小
- 在不增加滚动条宽度的情况下缩放网页?或指定滚动条宽度
- 缩放网页元素上的事件
- 网页的缩放取决于设备尺寸
- Javascript鼠标滚轮缩放网页
- 缩放网页颜色
- 将横向iPad旋转为纵向iPad不会改变网页的缩放比例
- 可以停止缩放我的网页在桌面浏览器
- 如何在ipad中调整网页大小/缩放
- 禁用缩放 Android 网页中的输入焦点
- 如何在移动设备上调整网页内容宽度,以始终适合任何缩放级别的屏幕
- 在iPad的网页上使图片不受页面缩放的影响
- 根据窗口大小缩放 HTML5 网页
- 缩放网页时的问题