TL;博士
var isStockAndroid = /^Mozilla\/\d+\.\d+\s\(Linux;\sU;/.test(window.navigator.userAgent);
在Chrome瀏覽器開發工具,你可以模仿Android瀏覽器,以確定的userAgent字符串(通過window.navigator.userAgent
可用)。然後,您可以確定此用戶代理字符串與移動Chrome瀏覽器的字符串之間的差異。這將允許您檢測當前用戶是否在Android瀏覽器上,並且在這種情況下您可以重定向到特殊視圖。
這裏是我能夠產生與Chrome瀏覽器開發工具的用戶代理字符串的幾個例子:
鉻: "Mozilla/5.0 (Linux; Android 4.3; Nexus 7 Build/JSS15Q) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/47.0.2526.76 Safari/537.36"
Android瀏覽器: "Mozilla/5.0 (Linux; U; Android 2.3.6; en-us; Nexus S Build/GRK39F) AppleWebKit/533.1 (KHTML, like Gecko) Version/4.0 Mobile Safari/533.1"
在所有的測試中我確實,U;
總是出現在用戶代理是Android瀏覽器的"Mozilla/5.0 (Linux;
之後。
假設始終是真實的(無擔保,但this網站似乎確認),可以使用下面的代碼來確定當前的瀏覽器是普通的Android:
var isStockAndroid = /^Mozilla\/\d+\.\d+\s\(Linux;\sU;/.test(window.navigator.userAgent);