1

为特定用户的意图和需求量身定制使用网站的体验,无论是让你的网站具有更好的移动友好性,还是让它与用户的地理位置更加相关,都能够收获巨大的回报。

而大部分网站能够检测用户的浏览器和操作系统,或根据用户IP地址来获得他们的大致位置,大部分网站在直接吸引用户上可以做得更好。

有一些不太明显的技术让你能够更进一步。一个是在用户载入网页时,检测用户电脑上安装了什么软件。

下面是原理:无论你何时安装任何主流软件包,你通常最后会在你的系统上得到一堆新字体。这些字体差不多总是有唯一性,不仅仅是软件包,还有软件包的具体版本。通过用户浏览器抽出这种“字体签名”,就能帮你检测用户安装到电脑上的软件种类——这不需要任何额外的用户许可。

访问到了用户字体,和他们相应安装的软件,意味着你能预先知道他们可能在你的网站寻找什么。例如,你能为 已经安装了设计软件的用户 重新排列你公司网站上的工作列表,以显示设计师/用户体验工程师职位。如果你支持多种格式的下载,你可以仅仅显示你知道的、用户能够打开的那些格式。或者,如果你能够检测用户有一个Photoshop或Office的过期版本,你可以加入Microsoft或Adobe推广程序,运行Office 365和Creative Cloud上面的广告。

有一些通过用户浏览器来抽取用户已经安装字体的方法。最简单的方式是借助一个小巧的flash脚本来返回字体列表。我,就我个人而言,使用font-detect-js。然而,稍下点儿功夫,你也能够不用flash就搞定。你可以仅仅依靠jQuery&CSS,试着渲染、测量在一个隐藏div内的字体。Lalit Patel在《JS/CSS Font Detect》文章有讨论。

一旦你有了用户字体列表,把列表映射回他们安装的软件就相当容易了。很多厂商列出了与他们软件绑定的字体。下面是一些例子:

在一些情况,你也能够检测用户是否注册了他们的Adobe产品。那是因为做为注册的交换,Adobe会给用户分配免费字体,比如Hypatia SansAdobe TextGaramond Premier

这里有一个简单的demo,可以检测是是否安装了一些软件:http://johnmcl.github.io/software-detect-js/

你也能够在Github下载、贡献这个项目,这里:https://github.com/johnmcl/software-detect-js/


原文 How to detect the software your visitors have installed
翻译 腊八粥


weakish
24.6k 声望844 粉丝

a vigorously lazy deadbeat with matured immaturity