2010-01-28 42 views
111

從我收集的數據來看,iPad使用的是iPhone OS,但屏幕分辨率與iPhone和iPod touch不同。許多網站可能不得不更改其用戶代理檢測以適應iPad。什麼是iPad用戶代理?

那麼,任何能夠訪問iPad或iPad SDK的人都可以給我們提供用戶代理字符串嗎?

+2

你會怎樣想,以適應iPad的時候,你不能確定你的變化適合? – Gumbo 2010-01-28 10:50:10

+9

我認爲這個想法是確保當有人在iPad上加載你的網站時,它不會認爲它是iPhone。用戶代理對於檢測並執行它的任何應用程序或網站都很重要。 – 2010-01-28 10:53:10

+0

所有的答案都過了幾年 - 我只是在這裏查找選項:http://www.webapps-online.com/online-tools/user-agent-strings(稍微努力鑽取,但它已您可能需要的每個設備)。 – brichins 2016-12-02 23:24:58

回答

126

的Mozilla/5.0(ipad公司; U; CPU iPhone OS 3_2等的Mac OS X; EN-US )AppleWebKit/531.21.10(KHTML,如Gecko)Version/4.0 0.4移動/ 7B314 Safari瀏覽器/ 531.21.10

+15

上面接受的答案已不再適用。你不能檢查用戶代理的'iPhone',必須是'iPad'。我認爲jleedev的上面的鏈接更接近真實交易: Mozilla/5.0(iPad; U; CPU操作系統3_2,如Mac OS X; en-us)AppleWebKit/531.21.10(KHTML,如Gecko)Version/4.0.4 Mobile/7B334b Safari/531.21.10 – 2010-07-08 19:17:00

+2

嗨夥計,以下是Safari開發者庫中的用戶代理詳細信息:http://developer.apple.com/library/safari/#technotes/tn2010/tn2262/_index.html – 2012-01-31 10:30:23

+6

這裏是另一個,更全面和信息豐富的鏈接:http://developer.apple.com/library/IOs/#documentation/AppleApplications/Reference/SafariWebContent/OptimizingforSafarioniPhone/OptimizingforSafarioniPhone.html – 2012-01-31 11:03:28

28

模擬器,在iPad的模式:

的Mozilla/5.0(在Macintosh; U;英特爾的Mac OS X 10_5_8; EN-US)爲AppleWebKit/531.9(KHTML,例如Gecko)版本/ 4.0.3 Safari瀏覽器/ 531.9(這是爲3.2的β1)

的Mozilla/5.0(ipad公司; U; CPU OS 3_2等的Mac OS X; EN-US)爲AppleWebKit/531.21.10(KHTML,像壁虎)版本/ 4.0.4 Mobile/7B334b Safari/531.21.10 (此爲3.2 beta 3)

和在iPhone模式:

的Mozilla/5.0(iPhone; U;像iPhone OS X的CPU iPhone OS 3_2; EN-US)爲AppleWebKit/531.21.20(KHTML,例如Gecko)手機/ 7B298g

我不知道該怎麼模擬器是可靠的,但似乎無法檢測設備是否是iPad的只是來自用戶代理字符串。

(注:我對雪豹這對於Safari瀏覽器的用戶代理字符串是

的Mozilla/5.0(在Macintosh; U;英特爾的Mac OS X 10_6_2; EN-US)爲AppleWebKit/531.21。 8(KHTML,例如Gecko)版本/ 4.0.4 Safari瀏覽器/ 531.21.10

+1

「Machintosh」?這是一個錯字還是真的? 如果它是真實的,那可能是我們應該如何檢測它。 – Yoric 2010-01-28 12:22:25

+0

看起來不同的是suttle ...注意「Machintosh」的拼寫不是「Macintosh」 - 或者這是一個錯字? – 2010-01-28 12:23:03

+1

對不起,這是錯字。因爲我不能直接從模擬器複製到Mac。 – kennytm 2010-01-28 12:24:47

2

從模擬器3.2最終:

的Mozilla/5.0(ipad公司; U; CPU操作系統3_2,如 Mac OS X; EN-US)爲AppleWebKit/531.21.10 (KHTML,例如Gecko)版本/ 4.0.4 移動/ 7B367 Safari瀏覽器/ 531.21.10

16

從一個真實的設備:

Mozilla/5.0 (iPad; U; CPU OS OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B367 Safari/531.21.10

10

值得一提的是,在web應用程序模式下運行(使用apple-mobile-web-app-capable元標記)用戶代理改變從時:

的Mozilla/5.0(ipad公司; U; CPU OS 3_2_1 等馬c OS X; en-us) AppleWebKit/531.21.10(KHTML,如 Gecko)Version/4.0。4移動/ 7B405 Safari瀏覽器/ 531.21.10

到:

的Mozilla/5.0(ipad公司; U; CPU OS 3_2_1 像的Mac OS X; EN-US) 爲AppleWebKit/531.21。 10(KHTML,像 壁虎)移動/ 7B405

+0

iPhone也是如此。如果任何人有任何蘋果文件解釋這種差異,我會發現這是一個很好的幫助。 – 2011-02-18 13:24:36

3

這似乎是,每一個移動蘋果設備,iphone,iPad或iPod使用同時包含「移動」和「野生」用戶代理一般的共識。

然而,採用最新的SDK(4.0.1),並讀取用戶代理我的rails服務器上(使用request.env["HTTP_USER_AGENT"]),我們永遠無法得到「野生動物園」的一部分。

無論該請求是否正在從模擬器或真實設備,調試製作或發佈,它總是看起來是這樣的:

的Mozilla/5.0(iPhone; U; CPU iPhone OS 3_1_2像Mac OS X的DE-DE) 爲AppleWebKit/528.18(KHTML,例如Gecko)手機/ 7D11"

只是沒有 '野生動物園' :-(所以我們要使用 'iPhone' 部分是肯定的。 ,這是蘋果的東西不建議這樣做。

+0

AppleWebKit意味着Safari – 2011-01-10 05:34:20

+2

Chrome在用戶代理中也有AppleWebKit。 – Nestor 2011-02-01 03:13:59

6

雷說:

的Mozilla/5.0(ipad公司; U; CPU OS 4_3等的Mac OS X; DA-DK)爲AppleWebKit/533.17.9(KHTML,例如Gecko)版本/ 5.0.2移動/ 8F190 Safari瀏覽器/ 6533.18.5

7

iPad 2 4.3.5下:

Mozilla/5.0(iPad; U; CPU OS 4_3_5,如Mac OS X; )AppleWebKit/533.17.9(KHTML,如Gecko)版本/ 5.0.2 Mobile/8L1 Safari/6533.18.5

4

在這裏,你去!

的Mozilla/5.0(ipad公司; U; CPU OS 3_2等的Mac OS X; EN-US)爲AppleWebKit/531.21.10(KHTML,例如Gecko)版本/ 4.0.4移動/ 7B334b Safari瀏覽器/ 531.21.10

1

我認爲值得一提的是,您通常不需要使用整個代理字符串,除非您找到了需要將網站定製到特定模型的原因。

您可以在代理字符串中檢查iPhone,iPad和iPod,並覆蓋您的所有基地。

if((navigator.userAgent.match(/iPhone/i)) || (navigator.userAgent.match(/iPod/i)) || (navigator.userAgent.match(/iPad/i))) { 
    appleMobileDevice = true; 
} 
else { 
    appleMobileDevice = false; 
} 
0

爲iPad只有

Mozilla/5.0 (iPad; U; CPU OS 3_2 like Mac OS X; en-us) AppleWebKit/531.21.10 (KHTML, like Gecko) Version/4.0.4 Mobile/7B334b Safari/531.21.10