关于前端:关于-SAP-UI5-设备类型检测的实现原理

8次阅读

共计 904 个字符,预计需要花费 3 分钟才能阅读完成。

SAP UI5 命名空间 sap.ui.Device.system 下蕴含了一系列标记位,这些标记位的类型为 boolean

  • sap.ui.Device.system.combi:如果此标记设置为 true,则设施被辨认为桌面零碎和平板电脑的组合。

此外,一个 CSS 类 sap-combi 被增加到文档根元素中。

留神:仅当同时检测到桌面设施和挪动设施时,此属性才设置为 true。

  • sap.ui.Device.system.desktop:如果此标记设置为 true,则设施被辨认为桌面零碎。

此外,一个 CSS 类 sap-desktop 被增加到文档根元素中。

留神:默认状况下,此标记对于运行 iOS 13 或更高版本的 iPad 上的 Safari 也是如此。最终用户能够通过在 iOS 设置中禁用“申请桌面网站 -> 所有网站”来更改此行为。

  • sap.ui.Device.system.phone:如果此标记设置为 true,则设施被辨认为电话。

此外,一个 CSS 类 sap-phone 被增加到文档根元素中。

留神:如果手机申请将网页作为“桌面页面”,则可能会将除 Device.system.phone 之外的所有属性设置为 true。在这种状况下,不可能依附用户代理来辨别平板电脑和手机。

  • sap.ui.Device.system.tablet:如果此标记设置为 true,则设施被辨认为平板电脑。

此外,在文档根元素中增加了一个 CSS 类 sap-tablet。

留神:此标记也实用于在桌面设施上运行的某些浏览器。能够应用以下逻辑来确保以后设施是平板设施:

if(sap.ui.Device.system.tablet && !sap.ui.Device.system.desktop){...tablet related commands...}

看个具体的例子:

以上 html 根元素,的确具备 sap-desktop 的 CSS 类.

然而这个类又是拿来干什么的?

sapUiMedia-Std-Tablet

设施 API (sap.ui.Device) 是一个 API,它提供无关设施细节的信息,例如操作系统及其版本、浏览器和浏览器版本、屏幕尺寸、以后方向以及对特定性能的反对,如触摸事件反对,方向变动等等。

正文完
 0