问题标签 [wurfl]

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 投票
3 回答
1258 浏览

asp.net - WURFL 未成功检测到 FireFox 4

我正在使用名为 FiftyOne Degrees ( http://51degrees.mobi ) 的第 3 方设备检测应用程序。

该应用程序使用 WURFL ( http://wurfl.sourceforge.net/ ) 根据用户代理找出请求页面的设备类型。

这很好用,除了在新的 Fire Fox 4 中。我认为这是因为 FF4 是在 2011 年 3 月 22 日发布的,而 WURFL 最后一次更新是在 2011 年 3 月 6 日。

有没有其他人遇到过这个问题?有什么解决办法吗?

0 投票
1 回答
165 浏览

.net - 如何将非标准用户代理添加到我的 wurfl 文件?

TweetMeme 的机器人使用自定义用户代理(下图),我的 51foundation 移动嗅探认为它是移动浏览器。有谁知道如何修补 wurfl 文件以防止这种情况发生?

-谢谢

用户代理:Mozilla/5.0(兼容;MSIE 6.0b;Windows NT 5.0)Gecko/2009011913 Firefox/3.0.6 TweetmemeBot

0 投票
1 回答
938 浏览

asp.net - 创建匹配部分用户代理的 WURFL 补丁

我正在使用 WURFL 来识别用户是否在移动设备上。某些 User-Agent 字符串被错误地识别为移动设备,从而导致内容类型设置不正确。

这是一个现实生活中的用户代理的示例,其行为如下:

然后将内容类型设置为application/vnd.wap.xhtml+xml而不是text/html.

我想在 web_browsers_patch.xml 文件中添加一个条目,以便将其识别为非移动浏览器。

以下作品:

但是,为了不必添加所有可能的用户代理变体,我想部分匹配它。就像是:

不幸的是,这不起作用 - 页面的内容类型再次设置不正确。

是否可以添加匹配部分用户代理字符串的 WURFL 补丁?如何?

(相关的额外问题:如何确定用户代理字符串与哪个配置文件匹配?)

我正在使用http://51degrees.codeplex.com/上提供的 51Degrees Foundation API

0 投票
1 回答
910 浏览

php - 从 TERA-WURFL 数据库中提取所有设备

无论如何我可以使用 PHP 提取 TERA-WURFL mysql 数据库中的所有设备(及其属性)吗?我需要在我的网络应用程序中显示支持的设备列表。

互联网上似乎很少有关于如何做到这一点的信息——这可以做到吗?

0 投票
4 回答
284 浏览

python - Python正则表达式问题

我正在尝试使用以下 Python 脚本从 WURFL XML 文件中提取所有手机屏幕分辨率。但问题是我只得到了第一场比赛。为什么?我怎么能得到所有的比赛?

WURFL XML 文件可以在http://sourceforge.net/projects/wurfl/files/WURFL/latest/wurfl-latest.zip/download?use_mirror=freefr找到

0 投票
2 回答
986 浏览

mobile-website - 用于呈现丰富网页内容的移动设备检测

  1. 迄今为止最具网络功能的手机是什么(型号和/或用户代理)和

  2. 在尝试确定它们是否将处理丰富的移动定制网站时,应评估哪些规则?

我正在开发一个移动网站,目前正在进行一些用户代理检测,以确定移动设备是否应该看到完全增强的 js、jquery mobile、css 视图或纯后备视图。

这是我目前对我的两个问题的回答,我想要一些关于如何改进的输入/建议 - 这种过滤是从上到下评估的:

如果用户代理包含以下内容,则增强视图:“iPhone”、“iPad”、“Android 3”、“Android 2”、“MSIE 9”、“MSIE 8”、“MSIE 7”、“Windows Phone OS 7”、 “IEMobile/7”、“BlackBerry99”、“BlackBerry 9800”、“BlackBerry 平板电脑”

如果用户代理包含以下内容,则后备视图:“Android 1”、“MSIE 6”、“MSIE 5”、“MSIE 4”、“MSIE 3”,然后有一大堆旧的黑莓 UA,即“BlackBerry8”和较旧的 Opera Mini 版本,即“Opera Mini/3”...

如果发现是 Web 浏览器,则增强视图(也有助于测试原因)。这再次由用户代理规则确定。

然后在 WURFL API 中加载(并找到)用户代理并且发现发布日期太旧时的后备视图。目前我认为这是在 2007 年之前。

然后当 WURFL device_os 功能显示带有 device_os_version 功能“5”或“6”的“Windows Mobile OS”时的后备视图。

然后增强视图无法确定他们正在使用什么,因此提供最佳体验(这将迎合新发布的手机)

按照这种设置方式,最好找到排除设备的原因而不是包含设备,因为最后一个条件将返回增强视图。

0 投票
3 回答
43670 浏览

javascript - 如何检测移动设备并获取用户代理信息发送并将该信息保存到服务器上的数据库中,只有一次?

是否有任何脚本来检查用户代理,然后将该信息发送并保存到服务器上的数据库?

我正在制作具有 2 个版本的移动网站,例如m.facebook.comtouch.facebook.com,我想重定向到不同的手机。我使用WURFL设备检测。

因此,例如 m.html5version.com 应交付给所有支持 HTML5 的设备,而m.mobileversion.com 应交付给所有其他手机。

所以我需要一种使用任何服务器端或客户端方法第一次检测设备和浏览器的方法。当任何用户第一次在设备上打开网站时,脚本应该运行一次,它应该收集有关设备和浏览器的信息,并将信息保存在我现有的 WURFL 数据库中,所以下次当任何用户来自同一设备时,他将根据设备重定向到网站的触摸或移动版本。

所以只有第一次在第一台设备上我想检测设备并保存信息。

有没有办法做到这一点?

例如

Android 1.6 不支持 HTML5 并且仍在使用中。所以我想将所有 Android 1.6 设备重定向到m.mobileversion.com而不是touch.mobileversion.com

在网站的触摸版本中,我使用的是不支持 Android 1.6 的HTML 5 标签,如 、<header>等。所以我想检测第一个从 Android 1.6 设备访问网站的设备,因为 1.6 不支持 HTML5,所以用户代理应该保存在我的数据库中,然后我下次任何用户在 1.6 中打开网站时它会重定向自动到 lo-fi 移动版本,任何设备都不需要第二次检测。<footer><nav>

0 投票
6 回答
2648 浏览

zend-framework - 带有 Zend 框架的 WURFL 忽略缓存目录配置

我正在关注使用 Zend Framework 设置 WURFL 的教程,以实现轻松的移动浏览器检测。

http://framework.zend.com/manual/en/zend.http.user-agent.html#zend.http.user-agent.quick-start

我已经将它设置到可以检测桌面浏览器并为我提供该浏览器的所有详细信息和功能的地步,但是当我尝试使用 iPhone(移动 safari)访问该网站时,它会在尝试编写时引发错误到缓存目录。

这是我在错误日志中看到的内容:

但是,在 /application/configs/wurfl-config.php 的配置中,我已将缓存目录设置为以下内容:

我还确保它可由服务器写入,但 wurfl 似乎认为我的缓存目录仍然是 /var/tmp

如何让 wurfl 观察我的缓存目录设置?

:本教程以 wurfl-1.1 为例,我只能在 sourceforge 上找到 wurfl-1.3。这可能是一个问题。

注意:我的 application.ini 文件中有这些行:

0 投票
1 回答
442 浏览

php - 标准 Wurfl 缓存如何 - 查看内存占用

就是一个快速的,可以在网上找到任何东西。

我正在研究将 Wurfl 用于 UserAgent 查找系统。

我需要了解它是如何缓存的,现在该文件以一个 15.9 meg XML 的形式出现,据我所知,当使用 APC 缓存时,它会将其转换为 PHP 数组。但是,当使用 ZIP 时,它会使用 MD5 散列作为每个单独设备的文件名(存储为序列化对象)创建目录结构。

现在,当请求进入时,它会遍历正确设备的缓存目录,然后仅缓存该条目,或者它是否缓存整个文件系统,然后对其进行查找。

我想我对它的作用有一个很好的了解,因为替代方案听起来适得其反,但我只是在寻找确认。

干杯

0 投票
1 回答
149 浏览

ruby-on-rails-3 - 任何 Ruby on Rails 库来检测客户端设备是否支持拖放操作?

我正在开发一个带有几个拖放屏幕的 Ruby-on-Rails-3 网站。

拖放功能不适用于所有浏览器(尤其是某些手机)。

是否有一种简单的方法可以知道 Web 浏览器是否支持拖放操作,如果不支持则使用替代方法?(可以是服务器端或客户端)

我可以使用WURFL并检查 pointing_method=touchscreen,但必须有更多的 Ruby-on-Rails 方式来做到这一点?