Sometime we need to detect device in jQuery to identify the screen, To add some extra or different logic according to the requirement.
5 ways to detect the mobile Devices in jQuery
Solution 1:- Using navigator userAgent.
if( /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent) ) { // mobile device code }
Solution 2:- Using window matchMedia method
$(function() { let isMobile = window.matchMedia("only screen and (max-width: 760px)").matches; if (isMobile) { //Conditional script here } });
Solution 3:- Using window screen width
var windowWidth = window.screen.width < window.outerWidth ? window.screen.width : window.outerWidth; var mobile = windowWidth < 500; if(mobile){ // mobile device }
Solution 4:- Using CSS and js. Add css on the element to the particular with and then check element visible or not using js.
/* CSS for smartphones ----------- */ @media only screen and (max-width: 760px) { #some-element { display: none; } } In jQuery/JavaScript file: $( document ).ready(function() { if( $('#some-element').css('display')=='none') { // logic for the mobile device } });
Solution 5:- Using window innerWidth method
var getBrowserWidth = function(){ if(window.innerWidth < 768){ // Extra Small Device detect return "xs"; } else if(window.innerWidth < 991){ // Small Device detect return "sm" } else if(window.innerWidth < 1199){ // Medium Device detect return "md" } else { // Large Device detect return "lg" } }; var device = getBrowserWidth(); if(device === "xs"){ // code for your logic }
Related Post setTimeout() and setInterval in jQuery