H5在iOS中的安全域问题

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了H5在iOS中的安全域问题相关的知识,希望对你有一定的参考价值。

参考技术A

iPhoneX取消了物理按键,改成底部小黑条,这一改动导致网页出现了比较尴尬的屏幕适配问题。对于网页而言,顶部(刘海部位)的适配问题浏览器已经做了处理,所以我们只需要关注底部与小黑条的适配问题即可(即常见的吸底导航、返回顶部等各种相对底部 fixed 定位的元素)。

笔者通过查阅了一些官方文档,以及结合实际项目中的一些处理经验,整理了一套简单的适配方案分享给大家,希望对大家有所帮助

大家都知道,iphoneX,屏幕顶部都有一个齐刘海,iPhoneX 取消了物理按键,改成底部小黑条,如果不做适配,这些地方就会被遮挡,因此本文讲述下齐刘海与底部小黑条的适配方法。

安全区域指的是一个可视窗口范围,处于安全区域的内容不受圆角(corners)、齐刘海(sensor housing)、小黑条(Home Indicator)影响,如下图所示:

<figcaption></figcaption>

ios11 新增特性,Webkit 的一个 CSS 函数,用于设定安全区域与边界的距离,有四个预定义的变量(单位是px):

注意 :网页默认不添加扩展的表现是 viewport-fit=contain,需要适配 iPhoneX 必须设置 viewport-fit=cover,不然 constant 函数是不起作用的,这是适配的必要条件。

第一步:设置网页在可视窗口的布局方式

第二步:页面主体内容限定在安全区域内

第三步:fixed 元素的适配

因为只有有齐刘海和底部黑条的机型才需要适配样式,可以用@support配合使用:

因为只有有齐刘海和底部黑条的机型才需要适配样式,可以用@support配合使用:

ios11安全域的兼容问题

给body加的css
padding-top: constant(safe-area-inset-top);
padding-left: constant(safe-area-inset-left);
padding-right: constant(safe-area-inset-right);
padding-bottom: constant(safe-area-inset-bottom);

<meta name="viewport" content="initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, width=device-width, viewport-fit=cover">

<meta name="viewport" content="width=device-width, initial-scale=1.0, minimum-scale=1.0, maximum-scale=1.0, user-scalable=no, initial-scale=1, maximum-scale=1, viewport-fit=cover"/>





以上是关于H5在iOS中的安全域问题的主要内容,如果未能解决你的问题,请参考以下文章

“域安全策略”和“域控制器安全策略”的问题

网闸在跨安全域数据摆渡中的优缺点分析

对于WEB APP安全问题的一些思考

如果我要连接到不在域中的远程计算机,是不是可以在连接字符串中使用集成安全选项?

关于服务器的 域控制器安全策略

域用户设置只能在一台计算机上登录杜绝安全隐患