在Android瀏覽器,「桌面模式」將刪除用戶代理的「機器人」的字符串。如果你可以使用JavaScript,下面的檢測Android的Google Chrome的桌面模式:
var webkitVer = parseInt(/WebKit\/([0-9]+)|$/.exec(navigator.appVersion)[1], 10); // also matches AppleWebKit
var isGoogle = webkitVer && navigator.vendor.indexOf('Google') === 0; // Also true for Opera Mobile and maybe others
var isAndroid = isGoogle && userAgent.indexOf('Android'); // Careful - Firefox and Windows Mobile also have Android in user agent
var androidDesktopMode = !isAndroid && isGoogle && navigator.platform.indexOf('Linux ') === 0 && !(window.chrome || window.chrome.webstore) && 'ontouchstart' in document.documentElement;
這應該平時工作,雖然可能將某些瀏覽器失敗(AOSP閃爍基於移動瀏覽器?)。
對於Windows Mobile,您可以通過檢查字符串檢測桌面模式「WPDesktop;」在用戶代理中。
「桌面模式」的重點在於防止移動特定的內容。你甚至不應該試圖改變這個 – Novocaine
我意識到這一點,但是對這種情況進行成像:你的站點檢測到(通過檢查用戶代理)用戶是否通過其中一個被識別的移動設備進行訪問。由於您知道您網站上的某項特定功能在移動瀏覽器上無法使用(因爲它具有懸停效果或類似效果),因此您將此功能全部隱藏起來。但是,該功能適用於移動設備,使用「桌面模式」。我們是否將其隱藏在這些設備上或嘗試檢測此模式並顯示該功能?這是我的困境。 –
或者一個特定的移動瀏覽器充滿了你必須解決的錯誤。無論是假裝成桌面版本(沒有錯誤),這些錯誤都是存在的。 +1的問題。 – RichieHindle