Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/394.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 是否有正确/推荐的方法检测我的UWP应用程序I';我在打电话?_Javascript_Winjs_Win Universal App - Fatal编程技术网

Javascript 是否有正确/推荐的方法检测我的UWP应用程序I';我在打电话?

Javascript 是否有正确/推荐的方法检测我的UWP应用程序I';我在打电话?,javascript,winjs,win-universal-app,Javascript,Winjs,Win Universal App,在使用JavaScript试用Windows Universal应用程序时,我注意到该属性不再可用,这是有道理的,因为在运行时没有理由要求这样做 我确实想知道是否有一种正确的方法来检测我的应用程序运行的设备,这只是为了测试 编辑:我的问题不是检测移动浏览器。我说的是一款全新的Windows10通用应用程序,可以在手机、台式机、平板电脑、Xbox、全息镜头、物联网设备等上运行。WinJS有一个属性可以告诉我是否在电话上运行。那笔财产现在不见了。由于“检测移动浏览器”重复,请不要关闭此问题。这不是我

在使用JavaScript试用Windows Universal应用程序时,我注意到该属性不再可用,这是有道理的,因为在运行时没有理由要求这样做

我确实想知道是否有一种正确的方法来检测我的应用程序运行的设备,这只是为了测试


编辑:我的问题不是检测移动浏览器。我说的是一款全新的Windows10通用应用程序,可以在手机、台式机、平板电脑、Xbox、全息镜头、物联网设备等上运行。WinJS有一个属性可以告诉我是否在电话上运行。那笔财产现在不见了。由于“检测移动浏览器”重复,请不要关闭此问题。这不是我所需要的。

有许多JS库可以检测使用的是哪个平台/设备

我个人喜欢使用这个库:

然后,您将能够通过以下方式检测移动设备:

isMobile.apple.tablet
isMobile.android.phone
等等

如果您有自己实现这种lib的想法,请记住,要使其保持最新状态需要一些努力,因为检测移动设备的方法可能会随着时间的推移而改变

通常,检测用户设备的常用方法是检查查询头

不过,请记住,您不能完全依赖这些信息—标题可能很容易修改。谷歌获取更多信息


因此,“省略手机用户的身份验证过程”是一个非常糟糕的主意

您也可以查看以下链接

当然,这里有一篇关于stackoverflow的类似文章,有一个很好的答案

说到Windows 10,从Winjs Github repo中提取,下面是答案


警告:由于硬件的动态特性,任何形式的设备检测都是脆弱的——明天可能会出现一种新设备,破坏应用程序的逻辑。最好仅将这些API用于遥测/分析,而不是触发运行时行为。

通常情况下,您真正想知道的是设备或应用程序的某些属性,与设备系列没有内在联系(此设备是否支持
SystemTray
API?是否连接了键盘?窗口是否超过500px?等等)

也就是说,在Windows 10中,您可以通过查询
设备家庭
,它会告诉您诸如“移动”或“桌面”或“Xbox”等信息(其中“移动”可以是任何类型的设备-手机、平板电脑等)。还有一个属性
DeviceForm
,可能会有所帮助,但在运行时,您不能真正依靠它来确定您正在“电话”上运行


因此,基本上答案是“你可以使用这些API进行遥测,但不要将任何值硬编码到你的应用程序中,以免它在新设备上市时损坏。”至少,一定要确保处理返回值不是你事先知道的值的情况。

对不起,我说的是UWP应用程序,而不是web应用程序。虽然你的第一个答案可能也有用。我来看看。谢谢,人们不会看问题的。我说的是UWP应用,不是网络。我想知道WinJS是否带来了一个开箱即用的属性,就像它用于Dear sebagomez一样,我正在检查,并且WP8.1应用程序也支持该属性。很抱歉,你是对的。。我正在进行部分阅读,但我认为如果它不再有效,你应该考虑添加一个外部库来执行验证过程。关于它的研究他现在能做的就是检查屏幕分辨率,然后从那里开始工作,直到你的验证,正如这里提到的thaks Carlos,你可以添加一个引用该问题的答案,我会将其标记为答案可能的重复不是重复。。。我扩展了我的问题,所以每个人都明白我在问什么。。。在提出答案之前,请阅读整个问题这正是我想要的答案!我完全理解微软试图用UWP做什么,但在某些地方WinRT丑陋的一面仍然闪耀着光芒。看看WebAuthenticationBroker类。它在手机或桌面设备上的工作方式不同。你总是会得到两个完全不同的实现。是的,DeviceFamily helper是绝对需要的。UWP没有手机和平板电脑的分离,真是遗憾?在这种情况下,我们如何为surface平板电脑设计UI?屏幕大小是否不足以满足您的需求?