這邊使用,test這個方法作為判斷依據,使用正規表達式,來運算()裡面的字串,是否有/ /中的規則。
像最新的蘋果產品,愈來愈少在navigator中加上 iphone 或 ipad , ipod等關鍵字,取而代之的是 Macintosh 第幾代等等,所以目前要偵測新的裝置時,已經沒辦法準確判斷是 iphone 11 還是12,早期4 5 6 7還是可以的,所以我們必須透過,Safari IOS特有觸控事件來判斷,TouchEvent,就可以知道是否為行動裝置。
const detectBrowser = { isIOs: () => /iPad|iPhone|iPod/.test(navigator.userAgent), isIpad: () => { if (/iPad/i.test(navigator.userAgent)) { return true; } if (/Macintosh/i.test(navigator.userAgent)) { try { document.createEvent('TouchEvent'); return true; } catch (e) {} } return false; }, } detectBrowser.isIOs() // true or false
@copyright MRcodingRoom
觀看更多文章請點MRcoding筆記
觀看更多文章請點MRcoding筆記