天天看點

如何檢測網站通路者安裝了什麼軟體

為特定使用者的意圖和需求量身定制使用網站的體驗,無論是讓你的網站具有更好的移動友好性,還是讓它與使用者的地理位置更加相關,都能夠收獲巨大的回報。

而大部分網站能夠檢測使用者的浏覽器和作業系統,或根據使用者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 Sans

Adobe Text

Garamond Premier

這裡有一個簡單的demo,可以檢測是是否安裝了一些軟體:

http://johnmcl.github.io/software-detect-js/ http://johnmcl.github.io/software-detect-js/

你也能夠在Github下載下傳、貢獻這個項目,這裡:

https://github.com/johnmcl/software-detect-js/ https://github.com/johnmcl/software-detect-js/

繼續閱讀