2014-09-20 79 views
1

在php中有一個全球$_SERVER['HTTP_USER_AGENT']來獲取用戶瀏覽器數據。目前SailsJS中是否有類似的功能?從請求獲取用戶瀏覽器數據

+0

難道是足夠通過JavaScript只得到用戶代理? navigator.userAgent在任何瀏覽器都會得到這些信息。 – netpoetica 2014-09-20 22:25:24

+0

Ahhhh。我只是想得很深,卻沒有想到最簡單的事情。是的,我知道這一點,但從來沒有想過它。感謝哥們:) – Sahan 2014-09-20 22:36:45

+0

Np :)我打算將它作爲問題的答案發布,這樣如果其他人來了,他們將能夠更輕鬆地找到它。如果你有時間接受那將是偉大的答案! – netpoetica 2014-09-20 23:42:14

回答

7

如果您有興趣User agent在服務器端,您可以從請求的HTTP頭獲取的數據:

  • 一個對象,具有所有的請求頭:req.headers
  • 字符串與用戶代理請求頭:req.headers['user-agent']例如的Mozilla/5.0(Windows NT的6.1; WOW64)爲AppleWebKit/537.36(KHTML,例如Gecko)Chrome瀏覽器/ Safari瀏覽器37.0.2062.120/537.36
  • 字符串與用戶代理請求頭:req.get('user-agent') - 即以完全相同的方式(給你與上述表達式相同的結果)。

請注意,標題名稱需要user-agent(小寫字母),而不是User-Agent

此示例,控制器將返回JSON與當前瀏覽器的用戶代理JSON響應的

module.exports = { 

    /** 
    * `CustomController.getUserAgent()` 
    */ 
    getUserAgent: function (req, res) { 
    return res.json({ 
     userAgent: req.headers['user-agent'] 
    }); 
    } 
} 

例子:

{ 
    "userAgent": "Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/37.0.2062.120 Safari/537.36" 
} 
+2

@ user3656084這應該是被接受的答案。 [tag:node.js]中的'request.headers'相當於[tag:PHP]中的'$ _SERVER'。 – fardjad 2014-09-22 09:42:58

+0

非常感謝所有的答案 – Sahan 2014-09-23 01:03:36