JS-iOS上的Safari-如何获取视口比例属性

问题描述 投票:2回答:2

在Chrome上,我可以通过查看window.visualViewport.scale来获得视口比例,它在Safari上可用,但是window.visualViewport似乎未在iOS上的Safari的旧版本中定义。

有任何解决方法吗?

javascript ios mobile window viewport
2个回答
0
投票
根据caniuse.com visualViewport.scale应该在2019年9月19日发行的13.0版的iOS的Safari浏览器中可用。

如果您确实需要支持iOS的较早版本的Safari,并且也不需要在页面加载时直接测量比例,则可以尝试捕获touch events并自己猜测/计算比例。

[如果您真的要绝望,可以尝试“发明一些自行车”。例如(仅概念):在<div>内部创建并测量2 <body>。其中一个width: 100vw;和另一个width: 100%;(实际上是不需要的,因为块已经是父块宽度的100%)。这里的把戏将在不同的单位。

100vw

应该始终是视口的100%,而100%应该拉伸以获得最大可用宽度。测量这两个块之间的差异,即可计算出比例。请注意那些棘手的边距/边距,也许还有风景。

-1
投票
注意:

unested

© www.soinside.com 2019 - 2024. All rights reserved.