几年前我编写这个应用程序时,所有的都非常完美。但是在某个时间点,iOS Safari停止了使用任何涉及缩放的 meta viewport 选项,因为似乎有太多的网站错误地使用了该标记,导致文本太小而无法阅读,但又无法缩放。如果在此浏览器上启用地图,则可能会得到略微放大的视图,从而截断右边和底部的按钮,而您无法对此做任何事情,因为所有触摸都被解释为地图的缩放/平移手势,而不是浏览器滚动。没有通过那些按钮访问的功能,地图并不是特别有用 - 而且没有右上角的按钮,您甚至无法关闭地图。唯一的出路是重新加载页面,这可能会导致未保存的数据丢失。
我肯定会添加使用history.pushState
/onpopstate
的功能,以便地图覆盖层的行为就像单独的页面一样。您可以使用浏览器的“返回”按钮退出地图模式-但这并不能解决由于丢失按钮而导致的其他功能损失。
我曾考虑使用 .requestFullscreen()
实现地图叠加层,但它在应用程序可用的所有地方都不被支持。 特别是,在iPhone上根本不起作用,在iPad上,您会得到一个状态栏和一个巨大的“X”按钮覆盖您的内容 - 我的距离比例尺可能不再可读。 这实际上并不是我想要的语义 - 我需要整个window,而不是全屏幕。
如何在现代浏览器上实现全窗口显示? 我能找到的所有关于此问题的信息都是关于使用meta viewport标签,但正如我所提到的,它现在已经不再起作用。