如何使用 JavaScript 檢測移動設備
要檢測用戶是否在 JavaScript 中使用移動設備,我們可以使用 userAgent
屬性。
此屬性是 navigator
的一部分 對象並由瀏覽器在 HTTP 標頭中發送。它包含有關瀏覽器的名稱、版本和平台的信息。
userAgent
的值 ,我們可以使用正則表達式來測試它是否包含一些關鍵字,然後確定設備的類型(移動設備、平板電腦或台式機)。可選地,您還可以將此測試與當前窗口的寬度相結合。
這是一個返回設備類型的函數,用戶當前正在使用:
const deviceType = () => {
const ua = navigator.userAgent;
if (/(tablet|ipad|playbook|silk)|(android(?!.*mobi))/i.test(ua)) {
return "tablet";
}
else if (/Mobile|Android|iP(hone|od)|IEMobile|BlackBerry|Kindle|Silk-Accelerated|(hpw|web)OS|Opera M(obi|ini)/.test(ua)) {
return "mobile";
}
return "desktop";
};
請注意,上述解決方案並不總是可靠的 . userAgent
的值 可以很容易地改變。例如,當我們使用機器人抓取網站時,我們可以傳遞一個完全不同的用戶代理值來隱藏我們的身份。這將使檢測實際設備類型變得困難。