জাভাস্ক্রিপ্ট / jQuery এর মাধ্যমে অ্যান্ড্রয়েড ফোন সনাক্ত করুন


122

আমি কীভাবে সনাক্ত করব যে ব্যবহৃত ডিভাইসটি একটি মোবাইল ওয়েবসাইটের জন্য একটি অ্যান্ড্রয়েড?

আমার অ্যান্ড্রয়েড প্ল্যাটফর্মে কিছু সিএসএস বৈশিষ্ট্য প্রয়োগ করতে হবে।

ধন্যবাদ

উত্তর:


223

এটি একবার দেখুন: http://davidwalsh.name/detect-android

javascript:

var ua = navigator.userAgent.toLowerCase();
var isAndroid = ua.indexOf("android") > -1; //&& ua.indexOf("mobile");
if(isAndroid) {
  // Do something!
  // Redirect to Android-site?
  window.location = 'http://android.davidwalsh.name';
}

পিএইচপি:

$ua = strtolower($_SERVER['HTTP_USER_AGENT']);
if(stripos($ua,'android') !== false) { // && stripos($ua,'mobile') !== false) {
  header('Location: http://android.davidwalsh.name');
  exit();
}

সম্পাদনা করুন : কিছু মন্তব্যে যেমন উল্লেখ করা হয়েছে, এটি 99% ক্ষেত্রে কাজ করবে তবে কিছু প্রান্তের মামলাগুলি আচ্ছাদিত নয়। আপনার যদি জেএসে আরও অনেক উন্নত এবং বুলেটপ্রুড সমাধানের প্রয়োজন হয় তবে আপনার প্ল্যাটফর্ম.জে ব্যবহার করা উচিত: https://github.com/bestiejs/platform.js


5
অ্যান্ড্রয়েড ট্যাবলেটগুলিও পরীক্ষা করতে ভুলবেন না: googlewebmastercentral.blogspot.com/2011/03/…

2
এটি লক্ষণীয় যে এটি সর্বদা অ্যান্ড্রয়েড ডিভাইসগুলির জন্য কাজ করে না যেমন উদাহরণস্বরূপ, কিন্ডল ফায়ার এইচডি ডিভাইসগুলির দ্বারা প্রতিবেদন করা ব্যবহারকারী এজেন্টগুলিতে 'অ্যান্ড্রয়েড' শব্দটি মোটেই থাকে না।
ডিজেবিপি

3
নেভিগেটর.উসার এজেন্ট পদ্ধতির স্যামসাং গ্যালাক্সি ডিভাইসগুলিতে কাজ হয় না। ব্রাউজার স্পেকটিতে কোনও 'অ্যান্ড্রয়েড' নেই।
AsafK

2
জেএস সমাধানের প্রথম দুটি লাইন এটিকে সহজ করা যায়:var isAndroid = /Android/i.test(navigator.userAgent)
ডেভ কো

4
আপনার সমাধান কাজ করে না। এখানে একটি নোকিয়া লুমিয়া ব্যবহারকারী এজেন্ট। এবং কি অনুমান? এটি অ্যান্ড্রয়েড হিসাবে মেলে:Mozilla/5.0 (Mobile; Windows Phone 8.1; Android 4.0; ARM; Trident/7.0; Touch; rv:11.0; IEMobile/11.0; NOKIA; Lumia 625; Orange) like iPhone OS 7_0_3 Mac OS X AppleWebKit/537 (KHTML, like Gecko) Mobile Safari/537
স্যাম জেসন

47

এই ওয়ান লাইনার সম্পর্কে কীভাবে?

var isAndroid = /(android)/i.test(navigator.userAgent);

iপরিবর্তক কেস-অবশ ম্যাচিং সঞ্চালন করতে ব্যবহৃত হয়।


কর্ডোভা অ্যাডমব পরীক্ষার প্রকল্প থেকে গৃহীত প্রযুক্তি: https://github.com/floatinghotpot/cordova-admob-pro/wiki/00.- কীভাবে- ব্যবহার করুন -ফোনগ্যাপ- বিল্ড


2

আমি মনে করি মিশেলের উত্তরটি সেরা, তবে আমরা এটিকে আরও একধাপ এগিয়ে নিয়ে যেতে পারি এবং মূল প্রশ্ন অনুসারে গতিশীলভাবে একটি অ্যান্ড্রয়েড সিএসএস লোড করতে পারি:

var isAndroid = /(android)/i.test(navigator.userAgent);
if (isAndroid) {
    var css = document.createElement("link");
    css.setAttribute("rel", "stylesheet");
    css.setAttribute("type", "text/css");
    css.setAttribute("href", "/css/android.css");
    document.body.appendChild(css);
}

1
আপনি কেন মিডিয়া কোয়েরি ব্যবহার করতে পারবেন তা করতে চান? আপনার অ্যাপ্লিকেশন ইনস্টল করার জন্য একটি আমন্ত্রণ যোগ করার মতো জেএস ডিভাইস সনাক্তকরণটি কেবল বর্ধনের জন্য হওয়া উচিত। পৃষ্ঠার রেন্ডারিং এর উপর কখনই নির্ভর করা উচিত নয় কারণ আপনার কার্য সম্পাদনের সমস্যা এবং একটি ভয়াবহ ব্যবহারের অভিজ্ঞতা হবে।
ক্যামিলোকাওয়ারিন

1
@ ক্যামিলোকাওয়ারিন আপনার প্রতিক্রিয়া লেখকের দিকে নির্দেশিত করা উচিত। আমি কেবল তাঁর প্রশ্নের উত্তর সরবরাহ করছিলাম। আপনি প্ল্যাটফর্ম নির্দিষ্ট সিএসএস চাইলেও এমন কিছু ঘটনা রয়েছে। উদাহরণস্বরূপ, আপনি যদি চান ইন্টারফেসের ভিজ্যুয়াল স্টাইলটি ডিভাইসের সাথে মেলে।
ড্রলারসন

2
;(function() {
    var redirect = false
    if (navigator.userAgent.match(/iPhone/i)) {
        redirect = true
    }
    if (navigator.userAgent.match(/iPod/i)) {
        redirect = true
    }
    var isAndroid = /(android)/i.test(navigator.userAgent)
    var isMobile = /(mobile)/i.test(navigator.userAgent)
    if (isAndroid && isMobile) {
        redirect = true
    }
    if (redirect) {
        window.location.replace('jQueryMobileSite')
    }
})()

-3

জেএস সংস্করণ, আইপ্যাডকেও ধরবে:

var is_mobile = /mobile|android/i.test (navigator.userAgent);

3
কাজের প্রয়োজন হয় না কারণ এটি যেমন প্রশ্নটি প্রয়োজন ঠিক তেমনি অ্যান্ড্রয়েড নয়, অনেকগুলি ডিভাইস ধরে।
নিক

1
কমপক্ষে এর মতো কিছু ব্যবহার করুন: /android.*(?=mobile)/i.test(navigator.userAgent); অ্যান্ড্রয়েড ফোন সনাক্ত করতে। তবে এই রেজেক্সে "ব্যয়বহুল" কোয়ানটিফায়ার রয়েছে, সুতরাং 2 পৃথক পরীক্ষার সাথে ফিলিপের উত্তর আরও উপযুক্ত হতে পারে।
ভাদিম পি।
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.