问题标签 [51degrees]

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 投票
1 回答
716 浏览

asp.net-mvc-3 - 在 mvc3 中检测移动设备的一些最佳实践是什么

我正在启用我的一个网站将某些页面重定向到移动版本。我已经阅读了Steve Sanderson和Shiju Varghese关于属性使用和 51degrees.mobi 的博客文章。

我希望发生的是给定页面,dealer-locator,如果设备是移动设备,则重定向到 /mobile/dealer-locator。为此,我使用经销商定位器控制器和必要的视图设置了一个区域。我已经直接测试了代码,它似乎可以正常工作。

当我在用户代理更改为 iPhone 3.0 的情况下从实际设备或 FF 访问该站点时,我被重定向到 /mobile。有没有一种简单的方法可以将页面路由映射到移动路由?

我应该提到该站点使用 isapi_rewrite 并且有问题的页面具有将 /dealer-locator 映射到 /dealerlocator 的规则,并且dealerlocator 是一个控制器。

Ive 还注意到表单帖子似乎无法正常工作,因此暂时可以使用。

0 投票
1 回答
789 浏览

asp.net-mvc - iPhone & 51degrees.mobi 集成在一个 ASP.NET MVC 网站中

我正在为我的ASP.NET MVC 网站提供移动版本。假设网站是www.mywebsite.com ,移动版本是www.mywebsite.it/Mobile

作为第一个功能,我将能够识别移动设备是否正在调用 www.mywebsite.com,如果是这种情况,我只需将访问者重定向到 www.mysite.com/Mobile。

为此,我将51degrees.mobi API集成到我的网站中,如http://51degrees.codeplex.com/wikipage?title=MVC的方法 2.2中 所述,并使用真实的 iPhone 对其进行了测试。

对 www.mywebsite.com的首次访问被正确重定向到 www.mywebsite.com/Mobile,并且设备、iOS 和浏览器被识别。好吧,这就是我要找的。

不幸的是,当我再次尝试键入 www.mywebsite.com 时,iPhone 加载了主页 www.mywebsite.com/home 而不重定向到移动区域。

我很确定第一次访问效果很好,因为它是由 web.config 文件直接管理的。

那么,我错过了什么?这是缓存还是与会话相关的问题?我该如何解决?

问候, 马可

0 投票
1 回答
648 浏览

asp.net-mvc - 51Degrees.mobi 日志记录减慢 ASP.NET MVC

以下行为51Degrees.mobi.config我的每个 ASP.NET MVC 4 项目的控制器操作增加了 2-3 秒的加载时间:

ASP.NET MVC 3 也会发生同样的情况。如果我删除该<log>部分,页面几乎会立即加载。我正在使用二进制设备数据库进行检测,如下所示:

设置logLeveltoDebug会导致以下异常:

为什么这会导致如此急剧的放缓?这是更深层次问题的征兆吗?

依赖注入是否与 StructureMap 不兼容?


更新:感谢@James Rosewell,我弄清楚了为什么日志记录会减慢我的应用程序。它与logFile路径有关。每次 51Degrees 写入~/bin目录中的 51Log.txt 文件时,都会导致 IIS 回收池并重新加载所有模块。更改日志路径以~/App_Data解决问题。

0 投票
1 回答
822 浏览

asp.net-mvc-3 - ASP.NET MVC 3 的 GetOverriddenBrowser()

ASP.NET MVC 4 有一些不错的移动功能正在取代我的突变移动视图引擎,但在它准备好生产之前,我想为 ASP.NET MVC 3 实现浏览器覆盖功能。

SetOverriddenBrowser()似乎设置了一个.ASPXBrowserOverride带有覆盖用户代理的 cookie,该用户代理HttpBrowserCapabilitiesBase通过HttpContext.GetOverriddenBRowser().

为 MVC 3 实现此功能以利用移动检测库(包括 51Degrees.mobi)的最简单方法是什么?

0 投票
2 回答
1190 浏览

asp.net - 以编程方式启用/禁用每个请求的 51Degrees 重定向

简而言之,我试图弄清楚如何基于会话值,基于每个请求(不是每个人都是静态的)以编程方式启用和禁用手机重定向。

这是背后的故事:

我目前在我的 ASP.NET 应用程序中使用 51Degrees 将请求重定向到网站的移动版本。我想添加一个功能,用户可以从“设置”页面启用和禁用此重定向。每个用户的设置都不同,到目前为止,我发现禁用 51Degrees 的每个设置都是静态的。这使得很难为一部分用户禁用它。

我的一个半解决方案是firstRequestOnly="true"在不应该发生的情况下设置和反转重定向。尽管firstRequestOnly="true"引起了许多其他令人头疼的问题(不相关),但我想保留它firstRequestOnly="false"并简单地根据每个请求或每个用户的会话值启用/禁用重定向。问题是我想不出一个干净的方法来做到这一点。

0 投票
1 回答
637 浏览

android - 51Degree.mobi 和 Razor

我使用 Visual Studio 2010 IDE 创建了一个 ASP.net MVC 4 项目。
我想确保我的 Web 应用程序可以在桌面 PC 以及大小和属性不同的移动浏览器上运行。

从中学习后,发现在基于android的opera浏览器检测方面我需要使用51Degree 。

但不幸的是,当我使用 nuget 命令时

下载的数据不像我预期的那样。下面是我使用 nuget 命令下载后的当前项目情况,

任何人都可以给我任何建议或任何使用的参考链接Razor and 51Degree.mobi吗?

0 投票
1 回答
3799 浏览

c# - 适用于 iPhone、Android 的特定视图 (Asp.net MVC)

我在用 ..

  • ASP.net MVC 4
  • 51Degrees.mobi
  • jQuery Mobile

通过这些技术的帮助,我可以使我的 Web 应用程序的 UI 设计不仅在基于桌面的浏览器上看起来很好,而且在基于移动的浏览器上也很好看,而无需我单独创建项目。

但是当涉及到更具体的移动设备时,我想调用特定的视图文件。
所以我在Global.asax文件中使用下面的代码。

不幸的是,Android and IPhone specific view当我从 iPhone Emulator 和 Opera Mobile Emulator 调用页面时,不要加载。

我认为有问题的是,当我使用 NuGet 包从 51Degrees.mobi 下载时,我只得到两个文件。

FiftyOne.Foundation.dll
51Degrees.mobi.config

尽管我认为我应该得到App_Data/Devices.dat,但我仍然只从 51Degrees.mobi 得到这两个文件。

谁能给我建议我如何调用 iPhone 和 Android 的特定视图?每一个建议都将不胜感激。

0 投票
1 回答
364 浏览

asp.net - 51degrees 和 iis 缓存,mvc3,输出的潜在问题

我在调试过程中注意到了这一点,并希望确保它不会在生产中发生:

我已经使用 51degrees 库和基于 MVC3 的应用程序实现了我的网站的移动版本。我没有使用自定义的 url 或子域,因此在返回正常或移动版本的 html 之前,会分析每个请求以查看它是否来自移动浏览器。

在调试过程中,我注意到 IIS 有时会缓存页面的输出。我只在主页上看到过这种情况。每当它被缓存时,移动和桌面浏览器都会提供相同的内容,所以显然这是错误的。

我知道防止页面缓存浏览器端的方法的数量,但我想我会检查是否有特定的推荐方法来处理这个问题?

0 投票
1 回答
6405 浏览

asp.net-mvc - ASP.NET MVC 3 简单可靠的移动设备检测:使用 51degrees.mobi 还是原生?

在我的 ASP.NET MVC 3 Web 应用程序中,我将覆盖自定义视图引擎中的视图名称,以呈现针对非平板电脑移动设备优化的不同视图。

我想要执行此视图覆盖的只是Request.Browser.IsMobileDevice设备的本机显示宽度的准确值。

对于这个简单的用例,51degrees.mobi 感觉非常沉重和复杂。也许这只是我在尝试浏览 51degrees 网站上的所有示例和文档以获得简单实现的简单问题的答案时的挫败感。

如果没有 51 度,我确实得到Request.Browser.IsMobileDevice和的值Request.Browser.ScreenPixelsWidth。我注意到对于桌面浏览器,宽度始终为 640,Request.Browser.Capabilities["51Degrees.mobi"]ScreenPixelsWidth. 考虑到实现的服务器端性质,我猜 Unknown 值更准确。

我的主要问题是:我的简单要求真的需要 51 度吗?

如果我不使用 51degrees,是否有一些特定的浏览器示例无法正确检测 IsMobileDevice 和屏幕宽度?例如,对于新 iPad 或最新的 Android 浏览器版本,内置的 .NET Request.Browser.IsMobile 和 ScreenPixelsWidth 值是否不准确或不存在?我的网站有大约 65% 的移动用户,其中许多使用带有 UP.Browser 等浏览器的蹩脚功能手机,因此正确使用移动设备有点重要。

如果我使用 51degrees,我是否需要一直深入到 Request.Browser.Capabilities["51Degrees.mobi"]?或者 51degrees 是否覆盖/更新 Request.Browser.IsMobileDevice 的值以与其对浏览器的评估同步?显然它不会覆盖 Request.Browser.ScreenPixelsWidth。

只要他们不建议 MVC 4 或不涉及 WURFL 等付费解决方案,我愿意接受“你做错了,这是更好的方法”的答案。

0 投票
2 回答
372 浏览

asp.net - 检测设备访问网页,ASP.net

是否有任何好的库/包来检测有关访问我页面的设备的信息。例如,如果用户访问我的页面,我想检测平台、平台版本、屏幕尺寸、制造商和型号..

我已经尝试过 51Degress.mobi 但是一旦我检查了 Request.Browser.Platform 的值,该值就是“Uknown”......那是我使用我的 android-phone 的时候......这些天这不是一个不常见的平台......所以我有点失去了对它的信任……或者我做错了什么?我所做的只是使用 nuGet 安装它。

哦,是的,我想做这个服务器端..只是为了说清楚:)

提前致谢!