gpt4 book ai didi

javascript - 如何在移动 Safari 中提交表单后重置缩放,同时保持用户可扩展性?

转载 作者:太空狗 更新时间:2023-10-29 14:14:24 25 4
gpt4 key购买 nike

当用户从 iPhone/iPad 登录到我的应用程序时,Safari(有帮助地)在用户填写用户名/密码字段时放大。但是当提交表单并登录时,我们不会重新加载页面(这是一个单页应用程序),因此永远不会重置缩放。因此,该应用程序始终以放大的比例启动。

我看过Jeremy Keith's solution ,它成功地重置了缩放,但也阻止了用户将来缩放/缩放,因为他设置了视口(viewport)的 maximum-scale

像这样:

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';
}

有没有人看到一个很好的解决方案,可以在提交表单后重置它,而不会在之后卡住视口(viewport)?

最佳答案

我发现工作有点老套,但似乎很有效。基本上,在提交表单时,我设置了 maximum-scale,然后立即将其删除。希望这对某人有帮助。

element.on('submit', function(event) {
if (navigator.userAgent.match(/iPhone/i) || navigator.userAgent.match(/iPad/i)) {
var viewportmeta = document.querySelector('meta[name="viewport"]');
if (viewportmeta) {
viewportmeta.setAttribute('content', 'width=device-width, minimum-scale=1.0, maximum-scale=1.0, initial-scale=1.0');
viewportmeta.setAttribute('content', 'width=device-width, minimum-scale=1.0, initial-scale=1.0');
}
}
}

关于javascript - 如何在移动 Safari 中提交表单后重置缩放,同时保持用户可扩展性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29927680/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com