উত্তর:
আইপ্যাড সনাক্তকরণ
userAgent
সম্পত্তিটি একবার দেখে আপনার কোনও আইপ্যাড ব্যবহারকারী সনাক্ত করতে সক্ষম হওয়া উচিত :
var is_iPad = navigator.userAgent.match(/iPad/i) != null;
আইফোন / আইপড সনাক্তকরণ
একইভাবে, platform
আইফোন বা আইপডের মতো ডিভাইসগুলির জন্য যাচাই করার জন্য সম্পত্তি:
function is_iPhone_or_iPod(){
return navigator.platform.match(/i(Phone|Pod))/i)
}
মন্তব্য
এটি কাজ করার সময়, আপনার সাধারণত ব্রাউজার-নির্দিষ্ট সনাক্তকরণ সম্পাদন করা উচিত কারণ এটি প্রায়শই অবিশ্বাস্য হতে পারে (এবং এটি ছদ্মবেশী হতে পারে)। এটি বেশিরভাগ ক্ষেত্রে প্রকৃত বৈশিষ্ট্য-সনাক্তকরণ ব্যবহার করা পছন্দ করে , যা মডার্নিজারের মতো লাইব্রেরির মাধ্যমে করা যেতে পারে ।
ব্রেনেনের উত্তরে নির্দেশিত হিসাবে , ফেসবুক অ্যাপের মধ্যে এই সনাক্তকরণটি সম্পাদন করার সময় সমস্যাগুলি দেখা দিতে পারে। এই দৃশ্যটি পরিচালনা করার জন্য দয়া করে তার উত্তর দেখুন।
সম্পর্কিত সম্পদ
যদিও গৃহীত সমাধান আইফোনগুলির জন্য সঠিক, এটি উভয়কেই ভুলভাবে ঘোষণা করে isiPhone
এবং isiPad
ফেসবুক অ্যাপ্লিকেশন থেকে তাদের আইপ্যাডে আপনার সাইটটিতে আসা ব্যবহারকারীদের পক্ষে সত্য হতে পারে।
প্রচলিত জ্ঞান হ'ল আইওএস ডিভাইসগুলিতে সাফারির জন্য একটি ব্যবহারকারী এজেন্ট এবং ইউআইউইউভিউ ভিউয়ের জন্য একটি ব্যবহারকারী এজেন্ট রয়েছে। আইওএস অ্যাপ্লিকেশনগুলি তাদের ব্যবহারকারী এজেন্টকে কাস্টমাইজ করতে পারে এবং এই ধারণাটি ভুল। এখানে মূল অপরাধী ফেসবুক।
আইওএস ডিভাইস থেকে এই ব্যবহারকারী এজেন্ট স্ট্রিংগুলির তুলনা করুন:
# iOS Safari
iPad: Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9B176 Safari/7534.48.3
iPhone: Mozilla/5.0 (iPhone; CPU iPhone OS 5_0 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Version/5.1 Mobile/9A334 Safari/7534.48.3
# UIWebView
iPad: Mozilla/5.0 (iPad; CPU OS 5_1 like Mac OS X) AppleWebKit/534.46 (KHTML, like Gecko) Mobile/98176
iPhone: Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_1 like Mac OS X; en-us) AppleWebKit/532.9 (KHTML, like Gecko) Mobile/8B117
# Facebook UIWebView
iPad: Mozilla/5.0 (iPad; U; CPU iPhone OS 5_1_1 like Mac OS X; en_US) AppleWebKit (KHTML, like Gecko) Mobile [FBAN/FBForIPhone;FBAV/4.1.1;FBBV/4110.0;FBDV/iPad2,1;FBMD/iPad;FBSN/iPhone OS;FBSV/5.1.1;FBSS/1; FBCR/;FBID/tablet;FBLC/en_US;FBSF/1.0]
iPhone: Mozilla/5.0 (iPhone; U; CPU iPhone OS 5_1_1 like Mac OS X; ru_RU) AppleWebKit (KHTML, like Gecko) Mobile [FBAN/FBForIPhone;FBAV/4.1;FBBV/4100.0;FBDV/iPhone3,1;FBMD/iPhone;FBSN/iPhone OS;FBSV/5.1.1;FBSS/2; tablet;FBLC/en_US]
নোট করুন যে আইপ্যাডে, ফেসবুক ইউআইউইউভিউভিউর ব্যবহারকারী এজেন্ট স্ট্রিংয়ে 'আইফোন' অন্তর্ভুক্ত রয়েছে।
জাভাস্ক্রিপ্টে আইফোন / আইপ্যাড সনাক্ত করার পুরানো উপায়:
IS_IPAD = navigator.userAgent.match(/iPad/i) != null;
IS_IPHONE = navigator.userAgent.match(/iPhone/i) != null) || (navigator.userAgent.match(/iPod/i) != null);
আপনি যদি আইফোন এবং আইপ্যাড সনাক্ত করার জন্য এই পদ্ধতির সাথে যেতে চান তবে কোনও ব্যবহারকারী যদি কোনও আইপ্যাডে ফেসবুক থেকে আসে তবে আপনি IS_IPHON এবং IS_IPAD উভয়ই সত্য বলে মনে করবেন। এটি কিছু অদ্ভুত আচরণ তৈরি করতে পারে!
জাভাস্ক্রিপ্টে আইফোন / আইপ্যাড সনাক্ত করার সঠিক উপায়:
IS_IPAD = navigator.userAgent.match(/iPad/i) != null;
IS_IPHONE = (navigator.userAgent.match(/iPhone/i) != null) || (navigator.userAgent.match(/iPod/i) != null);
if (IS_IPAD) {
IS_IPHONE = false;
}
উদ্ভট ফেসবুক ইউআইউইউভভিউ আইপ্যাড ব্যবহারকারী এজেন্টের জন্য কভার করতে আমরা আইপ্যাডগুলিতে IS_IPHONE কে মিথ্যা হিসাবে ঘোষণা করি। এটি কীভাবে ব্যবহারকারী এজেন্ট স্নিফিং অবিশ্বাস্য তার একটি উদাহরণ। যত বেশি আইওএস অ্যাপ্লিকেশনগুলি তাদের ব্যবহারকারী এজেন্টকে কাস্টমাইজ করবে, তত বেশি ব্যবহারকারী এজেন্ট স্নিফিংয়ের সমস্যা থাকবে। আপনি যদি ব্যবহারকারী এজেন্ট স্নিফিং এড়াতে পারেন (ইঙ্গিত: সিএসএস মিডিয়া ক্যোয়ারী), এটি করুন।
/iPh?o(ne|d)/i
, বা /(iPhone|iPod)/i
যদি আপনি কোনও আইপড প্রকাশিত হচ্ছেন: পি।
আমি এটি ব্যবহার:
function fnIsAppleMobile()
{
if (navigator && navigator.userAgent && navigator.userAgent != null)
{
var strUserAgent = navigator.userAgent.toLowerCase();
var arrMatches = strUserAgent.match(/(iphone|ipod|ipad)/);
if (arrMatches != null)
return true;
} // End if (navigator && navigator.userAgent)
return false;
} // End Function fnIsAppleMobile
var bIsAppleMobile = fnIsAppleMobile(); // TODO: Write complaint to CrApple asking them why they don't update SquirrelFish with bugfixes, then remove
আমি এটি ব্যবহার:
//http://detectmobilebrowsers.com/ + tablets
(function(a) {
if(/android|avantgo|bada\/|blackberry|blazer|compal|elaine|fennec|hiptop|iemobile|ip(ad|hone|od)|iris|kindle|lge |maemo|meego.+mobile|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|playbook|silk/i.test(a)
||
/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(di|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(a.substr(0,4)))
{
window.location="yourNewIndex.html"
}
})(navigator.userAgent||navigator.vendor||window.opera);