我想知道用户是从桌面还是移动的使用网站,这样我就可以根据用户的设备(桌面或移动的)调整我的UI。如何使用 Delphi 在TMS WEB Core中检查此内容?
nafvub8i1#
有很多方法可以做到这一点,但这里有三种方法,我发现:
你可以使用Application.IsMobile函数来检查它是移动的还是桌面设备。这个函数实际上只会返回一个布尔值,表示True或False,这取决于它是移动的还是桌面设备:
Application.IsMobile
True
False
if Application.IsMobile then ShowMessage('This is a mobile device') else ShowMessage('This is not a mobile device');
字符串这也是检查它是移动终端还是桌面设备的推荐方法。
您可以编写自己的IsMobile函数,使用浏览器的窗口宽度。这不是100%准确的,因为它不检查它是否实际上是一个移动终端或没有,而是假设它是一个移动终端,如果宽度非常小.这是使用CSS媒体插件的网站中相当常见的做法.
IsMobile
function CheckMobile(): Boolean; begin Result := window.outerWidth < 800; end;
型您可以将“800”更改为您想要的“移动的”,然后可以像这样使用它:
if CheckMobile then ShowMessage('This is a mobile device') else ShowMessage('This is not a mobile device');
型
这与使用浏览器的窗口宽度非常相似,但这里您使用的是表单的宽度。因此,假设表单的名称为Form1,那么您可以执行以下操作:
Form1
if (Form1.Width < 800) then ShowMessage('This is a mobile device') else ShowMessage('This is not a mobile device');
1条答案
按热度按时间nafvub8i1#
有很多方法可以做到这一点,但这里有三种方法,我发现:
Application.IsMobile
你可以使用
Application.IsMobile
函数来检查它是移动的还是桌面设备。这个函数实际上只会返回一个布尔值,表示True
或False
,这取决于它是移动的还是桌面设备:字符串
这也是检查它是移动终端还是桌面设备的推荐方法。
使用浏览器窗口宽度的自定义函数
您可以编写自己的
IsMobile
函数,使用浏览器的窗口宽度。这不是100%准确的,因为它不检查它是否实际上是一个移动终端或没有,而是假设它是一个移动终端,如果宽度非常小.这是使用CSS媒体插件的网站中相当常见的做法.
型
您可以将“800”更改为您想要的“移动的”,然后可以像这样使用它:
型
使用窗体宽度
这与使用浏览器的窗口宽度非常相似,但这里您使用的是表单的宽度。因此,假设表单的名称为
Form1
,那么您可以执行以下操作:型