问题标签 [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.
javascript - 如何判断是否在我的页面上显示较少的 GPU 密集型图形?
我有一个网页,上面有一些视觉效果,我认为它确实增强了它。但是,它们在某种程度上是 GPU 密集型的。对于任何桌面,它们都是小游戏。但是,在我的笔记本电脑和手机上,这些设备的升温速度相当快。
我不想伤害我的用户的设备,也不想让他们发热,也不想因为他们正在查看我的页面而运行他们的粉丝。但是,我不想完全放弃这些效果。我如何判断是否可以使用这些效果,以及何时应该使用后备?
我的第一直觉是查询 [电池状态 API] (https://developer.mozilla.org/en-US/docs/Web/API/Battery_Status_API)
,但这是非常不鼓励的,现在基本上只适用于 Chromium。我不知道任何其他方式来询问“这是笔记本电脑还是台式机?” 或者“这是否有足够的 GPU 能力来自信地处理这个问题?”
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
下面的最终解决方案
reactjs - 如何使用 Next.js 检测 React SSR App 上的设备?
在一个网络应用程序上,我想显示两个不同的菜单,一个用于移动设备,一个用于桌面浏览器。我将 Next.js 应用程序与服务器端渲染和库react-device-detect一起使用。
如果您在浏览器中打开它并切换到移动视图并查看控制台,您会收到此错误:
警告:文本内容不匹配。服务器:“仅在浏览器中呈现”客户端:“仅在移动设备上呈现”
发生这种情况是因为服务器的渲染检测到浏览器,而在客户端,他是移动设备。我发现的唯一解决方法是同时生成并使用 CSS,如下所示:
而不是图书馆,但我真的不喜欢这种方法。有人知道直接在反应代码中处理 SSR 应用程序上的设备类型的良好做法吗?
angular - 在服务器上预渲染有角度的通用应用程序时检测设备类型
我正在使用ngx-device-detector库来检测设备类型(移动设备、平板电脑或台式机)。该库在客户端模式下完美运行,但在服务器上预呈现 Angular 通用应用程序时无法检测到设备类型(在服务器上预呈现后,在客户端模式下完美运行)。
- 如果有人给我一个适用于该库的解决方案,我将不胜感激
- 最终,如果这个库没有任何解决方案,请给我另一个解决方案
谢谢。
nuxt.js - 使用 Generate 进行 Nuxt 设备检测
我安装了 nuxtjs/device 并在 localhost 中运行良好,并且我通过 ctx.isMobile 得到了我想要的。但是我在部署我的应用程序时使用了 nuxt generate。它不起作用。那么这个模块的工作必须有一个服务器吗?或者有没有办法在静态生成模式下检测设备?
我像这样在我的模块上添加了这个
我像这样在我的组件中使用它
像这样
console - 如何检测特定的控制台输出?
此代码获取用户使用的设备名称并将其显示在控制台中。如何根据使用的设备使用该信息显示不同的网页?如果设备不是移动设备,它不会在控制台中显示任何内容。当它是移动设备时,我只希望它转到不同的页面。我需要这个,以便在用户使用移动设备时显示我的网站的移动版本。
(代码不是我从这里得到的:https ://codewithmark.com/mobile-detect )
xamarin - Xamarin UI 测试 - 手机/平板电脑的不同元素选择器
我正在将 Xamarin UI 测试视为原生 Android 和 iOS 应用程序的 POC。之前没有使用过 Xamarin 或 C,所以我现在正在虚张声势。我已经设法让它在应用程序的 Android 手机版本上运行,但我如何让它足够聪明以在手机/平板电脑实现之间寻找不同的元素?更进一步,我将尝试使 POC 跨平台,因此也需要考虑平台。
我已经看到对平台和习语的引用,但不确定如何在 Tests.cs 文件中使用它们。
谢谢。
php - 如何使用 Laravel 的代理库?
这是怎么回事?我最近两天尝试使用 DeviceIndentify, Agent库。这是一个基于Mobile Detect的库,但适用于LARAVEL。
我已经阅读了README.md并搜索了如何正确使用该库,但我不明白。
我已经按照我应该的方式安装了这个库,但我不确定如何使用它。
在我的测试中,我发现了一些问题。我创建了一个控制器,在其中添加了以下行代码:
我希望在我的方法$device
路径中使用 var 。类似于:view()
RouteController.php
views/desktop/
这是因为我在和之间划分了我的观点views/mobile/
。
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 目录会发生什么,我怎样才能找到它。
reactjs - 在 NextJs 的 getStaticProps 中获取用户代理
我正在使用react-device-detect
包来检测请求是来自移动设备还是桌面设备,它当然使用用户代理来做到这一点。
在我的 NextJS 项目中,我想在 SSG 页面上使用它。
导入包
并使用getStaticProps
这样的
最后在我的页面功能中
不管我总是看到“不,桌面!”。
在react-device-detect
我注意到的一些示例中,我们可能会使用userAgent
来自req
参数的,但getStaticProps
甚至提供了,我检查了一下,似乎没有?这有什么办法?我只是想通过getStaticProps
.
谢谢!