2012-07-02 64 views
14

我有一個從iOS設備查看時顯示的內容略有不同的網頁。要檢測相關設備,該站點會在用戶代理字符串中查找iPad;,iPod;iPhone;iPad上的iOS iOS用戶代理

這對所有iOS設備上的Safari完美適用。使用Chrome測試它適用於iPhone和iPad 1,但不是的iPad 3,該網站是獲得以下(意外)的用戶代理字符串的iOS:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) AppleWebKit/534.53.11 (KHTML, like Gecko) Version/5.1.3 Safari/534.53.10 

這似乎是有關「請求桌面網站「選項在鉻菜單(什麼是在桌面鉻的扳手圖標)。對於我的網站,它被禁用,似乎被鎖定到桌面而不是移動網站。對於其他網站,啓用該選項後會生成不同的用戶代理字符串。例如:儘量http://ifconfig.me/all

所以我的問題是:

  • 什麼標準瀏覽器使用,以決定是否啓用該選項
  • 鑑於鉻迫使該網站的桌面網站,我該如何呈現(使用由我的應用程序處理的協議,在我的情況的鏈接)

如果您想將這個測試自己的iOS具體內容,這裏有一個頁面,簡單地反映了用戶代理字符串。

+0

我的iPad 3上的iOS版iOS顯示的字符串與上面寫的不同。如預期的那樣,它包括「CriOS」。 – Zade

+0

感謝您提出這個問題。我們今天剛剛遇到了這個,但只在一個運行6.1.3的iPhone上運行。 –

+0

感謝您的用戶代理檢測的鏈接。順便說一句,Chrome用戶代理字符串記錄在這裏 - https://developer.chrome.com/multidevice/user-agent –

回答

13

瀏覽器將使用基於您是否作爲僞裝成桌面瀏覽器的手機瀏覽器兩個用戶代理字符串之間進行切換。

用戶代理:

Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; en-gb) 
AppleWebKit/534.46.0 (KHTML, like Gecko) 
CriOS/19.0.1084.60 Mobile/9B206 Safari/7534.48.3 

用戶代理之後, 「請求桌面版」:

Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_3) 
AppleWebKit/534.53.11 (KHTML, like Gecko) 
Version/5.1.3 Safari/534.53.10 

這只是一個提示,關於客戶端是誰的Web服務器。瀏覽器應該獨立於用戶代理呈現接收到的Web內容。