與功能檢測相反,該問題旨在建立一種方法來確定瀏覽器是否在 iOS 裝置上運行。儘管功能檢測很重要,但檢測 iOS 裝置的必要性源於它們對影片的獨特處理,正如相關 Stack Overflow 討論中所強調的那樣。
瀏覽裝置偵測領域,我們遇到兩種方法:
使用者代理嗅探:此方法依賴檢查瀏覽器的用戶代理字串以識別設備類型。然而,值得注意的是這種方法的潛在陷阱:
功能推斷: 此技術利用不同iOS 版本的已知功能可用性時間表。例如,我們知道:
注意:
實現檢測
function iOS() { return [ 'iPad Simulator', 'iPhone Simulator', 'iPod Simulator', 'iPad', 'iPhone', 'iPod' ].includes(navigator.platform) // iPad on iOS 13 detection || (navigator.userAgent.includes("Mac") && "ontouchend" in document); }
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 裝置上是否正在執行瀏覽器?的詳細內容。更多資訊請關注PHP中文網其他相關文章!