seb*_*mez 9 javascript winjs win-universal-app
使用JavaScript试用Windows Universal应用程序我注意到该WinJS.Utilities.isPhone属性不再可用,这是有道理的,因为在运行时没有理由要求它.
如果有正确的方法来检测我的应用程序运行的设备,我确实只想知道测试目的.
编辑:我的问题不是检测移动浏览器.我在谈论一个全新的适用于Window 10的通用Windows应用程序,可以在手机,台式机,平板电脑,Xbox,HoloLEns,物联网设备等上运行.WinJS有一个属性可以告诉我我是否在电话上运行.那个属性现在已经消失了.由于与"检测移动浏览器"重复,请不要关闭此问题.那不是我需要的.
Pet*_*SFT 12
需要注意的是:由于硬件的动态特性,任何形式的设备检测都很脆弱 - 明天会出现一种新的设备,会破坏应用程序的逻辑.最好将这些API仅用于遥测/分析,而不是触发运行时行为.
通常情况下,您真正想知道的是设备的某些属性或与设备系列无关的应用程序(此设备是否支持SystemTrayAPI?是否连接了键盘?窗口的宽度是否超过500px?等等.).
也就是说,在Windows 10中,您可以查询DeviceFamily通过AnalyticsInfo.VersionInfo.DeviceFamily,它会告诉您诸如"移动"或"桌面"或"Xbox"等内容(其中"移动"可以是任何类别的设备 - 手机,平板电脑等) .还有一个属性DeviceForm是可能是有益的,但是你又不能真正依赖于它在运行时确定地说,你在运行"的电话."
因此,基本上答案是"您可以使用这些API进行遥测,但不要将任何值硬编码到您的应用中,以免新设备上市时中断." 至少,请务必确保处理返回值不是您所知道的先验值的情况.
| 归档时间: |
|
| 查看次数: |
3365 次 |
| 最近记录: |