Flutter Web:获取设备信息UA窗口大小等

Posted BennuCTech

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Flutter Web:获取设备信息UA窗口大小等相关的知识,希望对你有一定的参考价值。

开启web支持

lutter pub global activate webdev //安装web开发环境

flutter config --enable-web //启动支持web

flutter config --enable-macos-desktop //启动mac支持

flutter config --enable-windows-desktop //启用window支持

获取设备信息等

首先

import 'dart:html';

然后我们就可以使用window了,它对应的就是html中的window,可以通过它获取窗口大小,如:

window.innerWidth
window.innerHeight

也通过window.navigator来获取信息,比如设备类型:

window.navigator.platform

比如ua:

window.navigator.userAgent

或者是否联网:

window.navigator.onLine

这个navigator对应的就是html中的navigator,可以获取浏览器运行环境信息,它包括的信息很多,比如语言、内存、网络等等,具体可以看它的源码。

但是window.navigator.platform获取的只是设备类别,比如mac、windows这类的,具体系统版本(如win10)无法获取。但是在ua中一般会有系统信息,所以可以在ua中来获取出来,一般格式如下:

Mozilla/5.0 (iPhone; CPU iPhone OS 10_3_1 like Mac OS X) AppleWebKit/603.1.30 (KHTML, like Gecko) Version/10.0 Mobile/14E304 Safari/602.1

我们获取第一个括号里的信息即可,这里会包含设备和系统信息。但是注意ua的格式并不是固定的,而且可以自定义,如果无法判断ua是否是上面的格式,那么最好不要解析它或者一定添加异常判断。

关注公众号:BennuCTech,获取更多干货!

以上是关于Flutter Web:获取设备信息UA窗口大小等的主要内容,如果未能解决你的问题,请参考以下文章

Flutter web:获取全屏大小 - 不是窗口大小

Flutter web 按钮大小问题

如何直接在 PC 端获取其它端设备的 UserAgent 信息呢?

Flutter MediaQuery获取屏幕信息以及屏幕适配

Flutter web 获取屏幕大小

Flutter Web:底部溢出问题