2012-01-29 23 views
1

我的應用程序提交反饋表。有沒有一種方法可以捕捉用戶的瀏覽器&版本與jQuery和張貼表單?如何捕獲用戶的瀏覽器信息並在表單域中提交?

感謝

+0

[Detect version of browser]的可能重複(http://stackoverflow.com/questions/5916900/detect-version-of-browser);那麼只需在隱藏字段中發送即可。 – Piskvor 2012-01-29 23:46:06

+1

你不需要jQuery。在客戶端使用'window.navigator.userAgent',或者在服務器上使用HTTP_USER_AGENT標題(根據David Clarke的回答)。請注意,上述任何一項都沒有標準,所以不要依賴結果來完全準確。 – RobG 2012-01-30 02:26:27

回答

2

此信息包含在HTTP_USER_AGENT頭,你可以檢索到服務器上,而不必揣摩出來的客戶端上,然後發佈它作爲您的表單數據的一部分。顯然,提取這些信息的機制取決於你的服務器端引擎。 This is the ASP.NET version,但會有一種等效的方式來檢索您使用的任何服務器中的標題信息。當你試圖確定客戶端的用戶代理時,如果你試圖實現一些特定於瀏覽器的行爲,@ mVChr的答案很有用。

如果您將信息發回隱藏的表單域,則可以有效地複製請求中已存在的信息。

4
JSON.stringify($.browser) // => {"webkit":true,"version":"535.11","safari":true} 
          // or whatever 
+0

謝謝,我試過這個,但我在鉻,它顯示Safari瀏覽器是真實的。任何方式來使這個準確? – AnApprentice 2012-01-30 00:05:03

0

像創建隱藏的表單字段:

<input type="hidden" name="browserVersion" id="browserVersion" value="" /> 
<input type="hidden" name="browserName" id="browserName" value="" /> 

然後使用jQuery來填充它。

var browserObj = JSON.stringify($.browser); //@mVChr 

$("#browserVersion").val(browserObj.version); 
... 

等等!

+0

謝謝問題是,我使用Chrome瀏覽器,並顯示Safari? – AnApprentice 2012-01-29 23:59:40

+0

我相信Chrome瀏覽器基於Webkit,它也是Safari中使用的引擎,因此您可能會在用戶代理字符串之間看到一些相似之處。從用戶代理字符串中找出瀏覽器版本是藝術和科學。 – 2012-01-30 00:06:13

+1

@AnApprentice DavidClarke是正確的......但是,如果你使用原始的JavaScript你可能能夠得到你需要的東西(http://www.javascripter.net/faq/browsern.htm),但在一天結束的時候真的必須學習你正在分析什麼樣的數據。使用Firebug控制檯或鍍鉻控制檯讀出整個對象,並查看safari和chrome輸出之間的區別。 祝你好運兄弟,考慮到這一點,這是你的答案! – Relic 2012-01-30 00:14:19

相關問題