当前位置: 首页 > 面试题库 >

如何在iPhone上的方向更改时重置Web应用程序的缩放/缩放?

欧阳鸿哲
2023-03-14
问题内容

当我以纵向模式启动我的应用程序时,它可以正常工作。然后我旋转到风景中,并按比例放大。为了使其能够在横向模式下正确缩放,我必须双击某物两次,首先将其一直放大(正常的双击行为),然后再次将其完全缩小(再次是正常的双击行为)。
。缩小时,它会缩小到横向模式的正确新比例。

切换回人像似乎更一致。也就是说,它会处理缩放,以便在方向变回纵向时缩放比例正确。

我想弄清楚这是否是错误?还是这可以用JavaScript修复?

使用视口元内容,我将初始比例设置为1.0,而不是设置最小或最大比例(我也不想要)。我将宽度设置为设备宽度。

有任何想法吗?我知道很多人将不胜感激,因为这似乎是一个长期存在的问题。


问题答案:

通过不设置标记的最大比例来保持标记的可伸缩性。

<meta name="viewport" content="width=device-width, initial-scale=1">

然后,在加载时禁用javascript的可扩展性,直到您使用此脚本再次允许可扩展性时,即开始 手势 动作:

if (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i)) {
    var viewportmeta = document.querySelector('meta[name="viewport"]');
    if (viewportmeta) {
        viewportmeta.content = 'width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0';
        document.body.addEventListener('gesturestart', function () {
            viewportmeta.content = 'width=device-width, minimum-scale=0.25, maximum-scale=1.6';
        }, false);
    }
}

2014年12月12日 更新: 在iPad 1上无法使用,在事件监听器上失败。我发现删除.body修复程序:

document.addEventListener('gesturestart', function() { /* */ });


 类似资料:
  • 我正在尝试调整嵌入到div容器中的svg的大小和缩放。我的目标是通过道具改变te svg作为一个React组件。您可以在这里查看代码沙箱。 我使用viewbox和矩阵变换使svg圆圈保持其在窗口调整大小上的位置。我可以在鼠标滚轮上相应地缩放圆圈。对于缩放,我在window resize事件上设置组件状态中父容器的宽度和高度。 但是当我在改变窗口大小之前缩放时,圆圈就不在它的位置了。 你知道如何使我

  • 我有一个lambda函数,它读取DynamoDB并在/tmp中创建一个大文件(~500M),最后上传到S3。上传后,lambda将从/tmp中清除文件(因为实例很有可能被重用) 问题:1。在这种情况下,已知的工作范围是什么?(可能在/tmp中提供更多空间,或确保为每次新执行提供一个干净的/tmp)2。lambda中关于文件创建和管理的最佳实践是什么?3.我可以将另一个EBS或其他存储附加到Lamb

  • 我正在尝试HPA:https://kubernetes.io/docs/tasks/run-application/hosteral-pod-autoscale/ HPA: 并创建了新的吊舱: 正如您所看到的,我使用的是,它不支持访问模式。 我发现了一些东西:没有什么可以确保新扩展的pod将与第一个pod运行在同一个节点上。因此,如果卷插件不支持,并且缩放的pod在另一个节点上运行,则它将无法挂载

  • 我已经将一个图像读入一个JLabel,并将该图像缩放到JLabel的大小,如下所示: 我使用提供的GroupLayout并将水平轴和垂直轴设置为“自动调整大小”(通过设计视图),这样每当我更改窗口大小时,JLabel的大小就会自动调整为JFrame的大小。 现在我想调整图像的大小和JLabel的大小,这里开始麻烦了。我添加了一个事件处理程序,它响应JFrame的大小调整,如下所示: 另外,如果我想

  • 我有一个按钮,应该在最右边的角落,所以我使用了CSS,在100%缩放,它工作良好,但当我给出75%缩小,它显示的按钮在中间,我试着给出//,但没有工作。 有人能帮帮我吗。 null null 放大和缩小时的图像 100%放大 67%放大

  • 我有一个Spring引导应用程序运行与Spring执行器启用。我正在使用Spring执行器健康endpoint作为准备和活泼检查。所有的工作都很好与一个副本。当我扩展到2个副本时,两个吊舱都崩溃了。它们都失败了就绪状态检查,并最终在无休止的破坏/重新创建循环中结束。如果我将它们缩放到1个副本,集群将恢复,并且Spring Boot应用程序可用。你知道是什么导致了这个问题吗? 下面是部署配置(Spr