Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> JavaScript

JavaScript मोबाइल ब्राउज़र डिटेक्शन

JavaScript में मोबाइल ब्राउज़र का पता लगाने का कोड नीचे दिया गया है।

उदाहरण

<!DOCTYPE html> 
<html lang="en"> 
<head> 
  <meta charset="UTF-8" /> 
  <meta name="viewport" content="width=device-width, initial-scale=1.0" /> 
  <title>मोबाइल डिटेक्शन</title> 
  <style> 
    body { font-family: "Segoe UI", Tahoma, Geneva, Verdana, sans-serif; } 
    .sample { font-size: 18px; font-weight: 500; } 
  </style> 
</head> 
<body> 
  <h1>मोबाइल ब्राउज़र का पता लगाना</h1> 
  <div class="sample"></div> 
  <button class="Btn">यहां क्लिक करें</button> 
  <h3>ऊपर दिए गए बटन पर क्लिक करके देखें कि यह मोबाइल डिवाइस है या नहीं</h3> 
  <script> 
    let fillEle = document.querySelector(".sample"); 
    document.querySelector(".Btn").addEventListener("click", () => { 
      var checkMobile = /iPhone|iPad|iPod|Android/i.test(navigator.userAgent); 
      if (checkMobile) { 
        fillEle.innerHTML = "यह एक मोबाइल डिवाइस है"; 
      } else { 
        fillEle.innerHTML = "यह मोबाइल डिवाइस नहीं है"; 
      } 
    }); 
  </script> 
</body> 
</html>

आउटपुट

उपरोक्त कोड निम्नलिखित आउटपुट उत्पन्न करेगा:

JavaScript मोबाइल ब्राउज़र डिटेक्शन

"यहां क्लिक करें" बटन पर क्लिक करने पर:

JavaScript मोबाइल ब्राउज़र डिटेक्शन

User Agent आधारित डिटेक्शन:

// मूल उदाहरण में उपयोग किया गया रेगुलर एक्सप्रेशन
/iPhone|iPad|iPod|Android/i.test(navigator.userAgent)

// अधिक व्यापक पैटर्न
const isMobile = /Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|Opera Mini/i.test(navigator.userAgent);

// टैबलेट अलग से डिटेक्ट करना
const isTablet = /iPad|Android(?!.*Mobile)/i.test(navigator.userAgent);

बेहतर आधुनिक दृष्टिकोण:

1. CSS Media Queries (पसंदीदा):

/* CSS में */
@media (max-width: 768px) { /* मोबाइल स्टाइल्स */ }
@media (hover: none) and (pointer: coarse) { /* टच डिवाइस */ }

2. JavaScript MatchMedia:

const isMobile = window.matchMedia('(max-width: 768px)').matches;
const isTouch = window.matchMedia('(pointer: coarse)').matches;

3. Navigator ऑब्जेक्ट (नया):

// User Agent Client Hints (आधुनिक, प्राइवेसी-फ्रेंडली)
navigator.userAgentData?.mobile; // boolean
navigator.userAgentData?.getHighEntropyValues(['platform', 'model']).then(data => {
  console.log(data.platform, data.model);
});

चेतावनी:

  • User Agent स्पूफिंग - यूजर एजेंट स्ट्रिंग बदला जा सकता है
  • मेंटेनेंस - नए डिवाइस आने पर रेगेक्स अपडेट करना पड़ता है
  • फीचर डिटेक्शन बेहतर - डिवाइस डिटेक्शन के बजाय फीचर डिटेक्ट करें

सिफारिश:

फीचर डिटेक्शन का उपयोग करें (उदाहरण: 'ontouchstart' in window टच सपोर्ट के लिए) बजाय डिवाइस डिटेक्शन के। रिस्पॉन्सिव डिज़ाइन के लिए CSS Media Queries सबसे अच्छा है।

  1. JavaScript Promises JavaScript Promises

    JavaScript में Promises हमें एसिंक्रोनस ऑपरेशन करने की अनुमति देते हैं जहां वैल्यू प्रॉमिस बनाते समय पहले से ज्ञात नहीं होती। एक प्रॉमिस की तीन अवस्थाएं हो सकती हैं: पेंडिंग, फुलफिल्ड और रिजेक्टेड।उदाहरण<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8&

  1. JavaScript WeakSet JavaScript WeakSet

    JavaScript WeakSet का उपयोग ऑब्जेक्ट्स के संग्रह को स्टोर करने के लिए किया जाता है। Set की तरह यह डुप्लिकेट स्टोर नहीं करता।WeakSet के मेथड्समेथडविवरणadd(obj)WeakSet में नया वैल्यू जोड़ता है।delete(obj)WeakSet से वैल्यू हटाता है।has(obj)True या false लौटाता है यह इस पर निर्भर करता है कि WeakSet ऑब्ज

  1. JavaScript में एरो की प्रेस डिटेक्ट करना JavaScript में एरो की प्रेस डिटेक्ट करना

    जब एरो की दबाई जाती है तो इसे डिटेक्ट करने के लिए, JavaScript में onkeydown का उपयोग करें।बटन का की कोड होता है। जैसा कि आप जानते हैं लेफ्ट एरो की का कोड 37 है। अप एरो की का कोड 38 है और राइट का 39 और डाउन का 40।उदाहरणकोड निम्न है:<!DOCTYPE html> <html lang=en> <head>