সমাধান 1: ব্যবহারকারী এজেন্ট স্নিফিং
অ্যান্ড্রয়েড এবং আইফোনের জন্য:
if( /Android|webOS|iPhone|iPad|iPod|Opera Mini/i.test(navigator.userAgent) ) {
// run your code here
}
আপনি যদি ব্ল্যাকবেরি এবং উইন্ডোজ ফোন সহ সমস্ত মোবাইল ডিভাইস সনাক্ত করতে চান তবে আপনি এই বিস্তৃত সংস্করণটি ব্যবহার করতে পারেন:
var deviceIsMobile = false; //At the beginning we set this flag as false. If we can detect the device is a mobile device in the next line, then we set it as true.
if(/(android|bb\d+|meego).+mobile|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(hone|od)|ipad|iris|kindle|Android|Silk|lge |maemo|midp|mmp|netfront|opera m(ob|in)i|palm( os)?|phone|p(ixi|re)\/|plucker|pocket|psp|series(4|6)0|symbian|treo|up\.(browser|link)|vodafone|wap|windows (ce|phone)|xda|xiino/i.test(navigator.userAgent)
|| /1207|6310|6590|3gso|4thp|50[1-6]i|770s|802s|a wa|abac|ac(er|oo|s\-)|ai(ko|rn)|al(av|ca|co)|amoi|an(ex|ny|yw)|aptu|ar(ch|go)|as(te|us)|attw|au(di|\-m|r |s )|avan|be(ck|ll|nq)|bi(lb|rd)|bl(ac|az)|br(e|v)w|bumb|bw\-(n|u)|c55\/|capi|ccwa|cdm\-|cell|chtm|cldc|cmd\-|co(mp|nd)|craw|da(it|ll|ng)|dbte|dc\-s|devi|dica|dmob|do(c|p)o|ds(12|\-d)|el(49|ai)|em(l2|ul)|er(ic|k0)|esl8|ez([4-7]0|os|wa|ze)|fetc|fly(\-|_)|g1 u|g560|gene|gf\-5|g\-mo|go(\.w|od)|gr(ad|un)|haie|hcit|hd\-(m|p|t)|hei\-|hi(pt|ta)|hp( i|ip)|hs\-c|ht(c(\-| |_|a|g|p|s|t)|tp)|hu(aw|tc)|i\-(20|go|ma)|i230|iac( |\-|\/)|ibro|idea|ig01|ikom|im1k|inno|ipaq|iris|ja(t|v)a|jbro|jemu|jigs|kddi|keji|kgt( |\/)|klon|kpt |kwc\-|kyo(c|k)|le(no|xi)|lg( g|\/(k|l|u)|50|54|\-[a-w])|libw|lynx|m1\-w|m3ga|m50\/|ma(te|ui|xo)|mc(01|21|ca)|m\-cr|me(rc|ri)|mi(o8|oa|ts)|mmef|mo(01|02|bi|de|do|t(\-| |o|v)|zz)|mt(50|p1|v )|mwbp|mywa|n10[0-2]|n20[2-3]|n30(0|2)|n50(0|2|5)|n7(0(0|1)|10)|ne((c|m)\-|on|tf|wf|wg|wt)|nok(6|i)|nzph|o2im|op(ti|wv)|oran|owg1|p800|pan(a|d|t)|pdxg|pg(13|\-([1-8]|c))|phil|pire|pl(ay|uc)|pn\-2|po(ck|rt|se)|prox|psio|pt\-g|qa\-a|qc(07|12|21|32|60|\-[2-7]|i\-)|qtek|r380|r600|raks|rim9|ro(ve|zo)|s55\/|sa(ge|ma|mm|ms|ny|va)|sc(01|h\-|oo|p\-)|sdk\/|se(c(\-|0|1)|47|mc|nd|ri)|sgh\-|shar|sie(\-|m)|sk\-0|sl(45|id)|sm(al|ar|b3|it|t5)|so(ft|ny)|sp(01|h\-|v\-|v )|sy(01|mb)|t2(18|50)|t6(00|10|18)|ta(gt|lk)|tcl\-|tdg\-|tel(i|m)|tim\-|t\-mo|to(pl|sh)|ts(70|m\-|m3|m5)|tx\-9|up(\.b|g1|si)|utst|v400|v750|veri|vi(rg|te)|vk(40|5[0-3]|\-v)|vm40|voda|vulc|vx(52|53|60|61|70|80|81|83|85|98)|w3c(\-| )|webc|whit|wi(g |nc|nw)|wmlb|wonu|x700|yas\-|your|zeto|zte\-/i.test(navigator.userAgent.substr(0,4))) {
deviceIsMobile = true;
}
if(deviceIsMobile){
// run your code here
}
কনস : ব্যবহারকারী ফোনের স্ট্রিংগুলি দিন দিন নতুন ফোন এবং ব্র্যান্ডগুলি আসার সাথে সাথে পরিবর্তিত হচ্ছে এবং আপডেট হচ্ছে। সুতরাং আপনি যদি সমস্ত মোবাইল ডিভাইস সমর্থন করতে চান তবে আপনাকে এই তালিকাটি আপডেট রাখতে হবে।
সমাধান 2: মোবাইল জেএস লাইব্রেরি সনাক্ত করে
এটি করতে আপনি মোবাইল ডিটেক্ট জেএস লাইব্রেরিটি ব্যবহার করতে পারেন ।
কনস : এই জাভাস্ক্রিপ্ট-ভিত্তিক ডিভাইস সনাক্তকরণ বৈশিষ্ট্যগুলি কেবলমাত্র আইফোন, অ্যান্ড্রয়েড এবং পাম ওয়েবস ডিভাইসগুলির মতো স্মার্টফোনের নতুন প্রজন্মের জন্য কাজ করতে পারে। এই ডিভাইস সনাক্তকরণ বৈশিষ্ট্যগুলি পুরানো স্মার্টফোনগুলির জন্য কাজ করতে পারে না যা জাভাস্ক্রিপ্টের জন্য পুরানো ব্ল্যাকবেরি, পামমোস এবং উইন্ডোজ মোবাইল ডিভাইসগুলি সহ কম সমর্থন করে।