ব্যবহারকারী-এজেন্ট থেকে আইই সংস্করণ পান
var ie = 0;
try { ie = navigator.userAgent.match( /(MSIE |Trident.*rv[ :])([0-9]+)/ )[ 2 ]; }
catch(e){}
এটি কীভাবে কাজ করে: সমস্ত আইই সংস্করণগুলির জন্য ব্যবহারকারী-এজেন্ট স্ট্রিংয়ের একটি অংশ "এমএসআইই স্পেস সংস্করণ " বা "ট্রাইডেন্ট অন্যান্য-পাঠ্য আরভি স্পেস-বা-কোলন সংস্করণ " অন্তর্ভুক্ত রয়েছে। এটি জানতে পেরে আমরা একটি String.match()
নিয়মিত প্রকাশের থেকে সংস্করণ নম্বরটি দখল করি । try-catch
কোডটি সংক্ষিপ্ত করতে একটি ব্লক ব্যবহার করা হয়, অন্যথায় আমাদের নন-আইই ব্রাউজারগুলির জন্য অ্যারে সীমা পরীক্ষা করতে হবে।
দ্রষ্টব্য: ব্যবহারকারী-এজেন্টকে বানোয়াট বা বাদ দেওয়া যেতে পারে, কখনও কখনও অনিচ্ছাকৃত যদি ব্যবহারকারী তাদের ব্রাউজারটিকে একটি "সামঞ্জস্যতা মোড" এ সেট করে থাকেন। যদিও বাস্তবে এটি কোনও ইস্যুর মতো বলে মনে হচ্ছে না।
ব্যবহারকারী-এজেন্ট ছাড়াই আইই সংস্করণ পান
var d = document, w = window;
var ie = ( !!w.MSInputMethodContext ? 11 : !d.all ? 99 : w.atob ? 10 :
d.addEventListener ? 9 : d.querySelector ? 8 : w.XMLHttpRequest ? 7 :
d.compatMode ? 6 : w.attachEvent ? 5 : 1 );
এটি কীভাবে কাজ করে: আইই এর প্রতিটি সংস্করণ পূর্ববর্তী সংস্করণগুলিতে পাওয়া যায় না এমন অতিরিক্ত বৈশিষ্ট্যগুলির জন্য সমর্থন যোগ করে । সুতরাং আমরা বৈশিষ্ট্যগুলির জন্য টপ-ডাউন পদ্ধতিতে পরীক্ষা করতে পারি। এখানে একটি ত্রৈমাসিক ক্রমটি বংশবৃদ্ধির জন্য ব্যবহৃত হয়, যদিও if-then
এবং switch
বিবৃতিগুলি ঠিক তেমন কাজ করবে। ভেরিয়েবলটি ie
5-10 বা একটি পুরানো বা 1 বা 99 / নতুন / নন-আইইয়ের জন্য সেট করা হয়। আপনি যদি ঠিক 1-11- র জন্য পরীক্ষা করতে চান তবে আপনি এটি 0 তে সেট করতে পারেন।
নোট: যদি আপনার কোডটি মতো জিনিসগুলির জন্য polyfills যোগ তৃতীয় পক্ষের স্ক্রিপ্টের কোনো পৃষ্ঠায় চালানো হয় অবজেক্ট সনাক্তকরণ ভঙ্গ করতে পারে document.addEventListener
। এই ধরনের পরিস্থিতিতে ব্যবহারকারী-এজেন্ট সেরা বিকল্প।
ব্রাউজারটি আধুনিক কিনা তা সনাক্ত করুন
যদি আপনি কেবল ব্রাউজার বেশিরভাগ এইচটিএমএল 5 এবং সিএসএস 3 স্ট্যান্ডার্ডকে সমর্থন করে বা না তা নিয়ে আগ্রহী হন তবে আপনি যুক্তিসঙ্গতভাবে ধরে নিতে পারেন যে IE 8 এবং এর চেয়ে কম প্রাথমিক সমস্যার অ্যাপ্লিকেশন রয়েছে। এর জন্য পরীক্ষা করা window.getComputedStyle
আপনাকে আধুনিক ব্রাউজারগুলির মোটামুটি ভাল মিশ্রণ দেয় (আই 9, এফএফ 4, ক্রোম 11, সাফারি 5, অপেরা 11.5)। আইই 9 9 স্ট্যান্ডার্ড সাপোর্টে ব্যাপকভাবে উন্নতি করে তবে নেটিভ সিএসএস অ্যানিমেশনের জন্য আইই 10 দরকার।
var isModernBrowser = ( !document.all || ( document.all && document.addEventListener ) );