问题标签 [device-detection]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
50 浏览

javascript - 如何判断是否在我的页面上显示较少的 GPU 密集型图形?

我有一个网页,上面有一些视觉效果,我认为它确实增强了它。但是,它们在某种程度上是 GPU 密集型的。对于任何桌面,它们都是小游戏。但是,在我的笔记本电脑和手机上,这些设备的升温速度相当快。

我不想伤害我的用户的设备,也不想让他们发热,也不想因为他们正在查看我的页面而运行他们的粉丝。但是,我不想完全放弃这些效果。我如何判断是否可以使用这些效果,以及何时应该使用后备?

我的第一直觉是查询 [电池状态 API] (https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API),但这是非常不鼓励的,现在基本上只适用于 Chromium。我不知道任何其他方式来询问“这是笔记本电脑还是台式机?” 或者“这是否有足够的 GPU 能力来自信地处理这个问题?”

0 投票
2 回答
592 浏览

asp.net-core - 如何将 IViewLocationExtender 与 Razor 页面一起使用来呈现设备特定页面

目前我们正在构建一个 web 应用程序,首先是桌面,它需要特定页面的设备特定 Razor 页面。这些页面与它们的桌面版本确实不同,在这里使用响应性是没有意义的。

我们已经尝试实现我们自己的 IViewLocationExpander 并且还尝试使用 MvcDeviceDetector 库(基本上是这样做的)。设备类型的检测没有问题,但由于某种原因,设备特定页面没有被拾取,并且不断回退到默认的 Index.cshtml。(编辑:我们正在考虑基于 IPageConvention、IPageApplicationModelProvider 或其他东西实现一些东西...... ;-)

索引.mobile.cshtml 索引.cshtml

我们使用 MvcDeviceDetector 的示例添加了以下代码:

并正在添加一些路线映射

我们希望在 Chrome 中选择 Phone Emulation 时看到 Index.mobile.cshtml 被拾取,但这并没有发生。

编辑注:

  • 我们正在使用 Razor Views/MVC(较旧的部分)和 Razor Pages(较新的部分)的组合。
  • 也不是每个页面都有移动实现。这就是 IViewLocationExpander 解决方案如此出色的原因。

编辑 2 我认为解决方案与您实施特定于文化的 Razor Pages 的方式相同(我们也不知道 ;-))。基本 MVC 支持 Index.en-US.cshtml

下面的最终解决方案

0 投票
7 回答
39325 浏览

reactjs - 如何使用 Next.js 检测 React SSR App 上的设备?

在一个网络应用程序上,我想显示两个不同的菜单,一个用于移动设备,一个用于桌面浏览器。我将 Next.js 应用程序与服务器端渲染和库react-device-detect一起使用。

这是CodeSandox 链接

如果您在浏览器中打开它并切换到移动视图并查看控制台,您会收到此错误:

警告:文本内容不匹配。服务器:“仅在浏览器中呈现”客户端:“仅在移动设备上呈现”

发生这种情况是因为服务器的渲染检测到浏览器,而在客户端,他是移动设备。我发现的唯一解决方法是同时生成并使用 CSS,如下所示:

而不是图书馆,但我真的不喜欢这种方法。有人知道直接在反应代码中处理 SSR 应用程序上的设备类型的良好做法吗?

0 投票
1 回答
2246 浏览

angular - 在服务器上预渲染有角度的通用应用程序时检测设备类型

我正在使用ngx-device-detector库来检测设备类型(移动设备、平板电脑或台式机)。该库在客户端模式下完美运行,但在服务器上预呈现 Angular 通用应用程序时无法检测到设备类型(在服务器上预呈现后,在客户端模式下完美运行)。

  1. 如果有人给我一个适用于该库的解决方案,我将不胜感激
  2. 最终,如果这个库没有任何解决方案,请给我另一个解决方案

谢谢。

0 投票
1 回答
2039 浏览

nuxt.js - 使用 Generate 进行 Nuxt 设备检测

我安装了 nuxtjs/device 并在 localhost 中运行良好,并且我通过 ctx.isMobile 得到了我想要的。但是我在部署我的应用程序时使用了 nuxt generate。它不起作用。那么这个模块的工作必须有一个服务器吗?或者有没有办法在静态生成模式下检测设备?

我像这样在我的模块上添加了这个

我像这样在我的组件中使用它

像这样

0 投票
1 回答
34 浏览

console - 如何检测特定的控制台输出?

此代码获取用户使用的设备名称并将其显示在控制台中。如何根据使用的设备使用该信息显示不同的网页?如果设备不是移动设备,它不会在控制台中显示任何内容。当它是移动设备时,我只希望它转到不同的页面。我需要这个,以便在用户使用移动设备时显示我的网站的移动版本。

(代码不是我从这里得到的:https ://codewithmark.com/mobile-detect )

0 投票
0 回答
28 浏览

xamarin - Xamarin UI 测试 - 手机/平板电脑的不同元素选择器

我正在将 Xamarin UI 测试视为原生 Android 和 iOS 应用程序的 POC。之前没有使用过 Xamarin 或 C,所以我现在正在虚张声势。我已经设法让它在应用程序的 Android 手机版本上运行,但我如何让它足够聪明以在手机/平板电脑实现之间寻找不同的元素?更进一步,我将尝试使 POC 跨平台,因此也需要考虑平台。

我已经看到对平台和习语的引用,但不确定如何在 Tests.cs 文件中使用它们。

谢谢。

0 投票
1 回答
27 浏览

php - 如何使用 Laravel 的代理库?

这是怎么回事?我最近两天尝试使用 DeviceIndentify, Agent库。这是一个基于Mobile Detect的库,但适用于LARAVEL

我已经阅读了README.md并搜索了如何正确使用该库,但我不明白。

我已经按照我应该的方式安装了这个库,但我不确定如何使用它

在我的测试中,我发现了一些问题。我创建了一个控制器,在其中添加了以下行代码:

我希望在我的方法$device路径中使用 var 。类似于:view()RouteController.php

views/desktop/这是因为我在和之间划分了我的观点views/mobile/

0 投票
1 回答
44 浏览

linux - 如果我在 /dev 目录中使用 vim 创建文件会发生什么。由于 /dev 不是标准文件系统,文件将如何创建

如果我vim在 /dev 目录中使用创建文件会发生什么。由于 /dev 不是标准文件系统,将如何创建文件。我可以看到正在创建一个文件,但没有调用标准内核文件操作 create。现在我不确定内核是如何创建这个文件的。它会使用一些udev绑定的内核 API 来创建这个文件吗?

注意:创建后我可以在 /dev 中看到该文件。查看下面的 ls 输出。

crw-rw-rw- 1 根 tty 5, 0 8 月 24 日 17:32 tty
-rw-r--r-- 1 根 35 8 月 24 日 17:37 abc
-rw-r--r-- 1 根 0 8 月 24 日 17:37 ght
-rw-r--r-- 1 根 0 8 月 24 日 17:51 ioiu

我想找出这个来确定如果某些非法软件强行写入 /dev 目录会发生什么,我怎样才能找到它。

0 投票
0 回答
528 浏览

reactjs - 在 NextJs 的 getStaticProps 中获取用户代理

我正在使用react-device-detect包来检测请求是来自移动设备还是桌面设备,它当然使用用户代理来做到这一点。

在我的 NextJS 项目中,我想在 SSG 页面上使用它。

导入包

并使用getStaticProps这样的

最后在我的页面功能中

不管我总是看到“不,桌面!”。

react-device-detect我注意到的一些示例中,我们可能会使用userAgent来自req参数的,但getStaticProps甚至提供了,我检查了一下,似乎没有?这有什么办法?我只是想通过getStaticProps.

谢谢!