偵測 iOS 裝置
開發 Web 應用程式時,偵測裝置的作業系統非常有用。特別是,iOS 設備具有可能需要特定處理的獨特特性。以下是實現此目的的方法:
用戶代理嗅探
常見的方法是用戶代理嗅探。然而,由於使用者或分機操作的可能性,這種方法不太可靠。不過,這裡有一個範例:
var iOS = !window.MSStream && /iPad|iPhone|iPod/.test(navigator.userAgent);
請注意,由於使用者代理字串的更改,此方法可能無法偵測執行 iOS 13 的 iPad。
平台偵測
更穩健的方法是檢查平台string:
function iOS() { return [ 'iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod' ].includes(navigator.platform) || (navigator.userAgent.includes("Mac") && "ontouchend" in document); }
此方法還可以區分iPad 和其他iOS 設備,包括iPadOS 13。
偵測 iOS 版本
在使用者代理程式解析時可以提供iOS版本,更可靠的方法是特徵推論。以下是一個範例:
function iOSversion() { if (iOS) { if (window.indexedDB) { return 'iOS 8 and up'; } if (window.SpeechSynthesisUtterance) { return 'iOS 7'; } if (window.webkitAudioContext) { return 'iOS 6'; } if (window.matchMedia) { return 'iOS 5'; } if (window.history && 'pushState' in window.history) { return 'iOS 4'; } return 'iOS 3 or earlier'; } return 'Not an iOS device'; }
結論
這些技術使您能夠有效地檢測iOS 設備並確定其版本,從而允許您相應地自訂Web應用程式的行為。
以上是如何在 Web 應用程式中可靠地偵測 iOS 裝置及其版本?的詳細內容。更多資訊請關注PHP中文網其他相關文章!