ব্যবহারকারী-এজেন্ট থেকে আইই সংস্করণ পান
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বিবৃতিগুলি ঠিক তেমন কাজ করবে। ভেরিয়েবলটি ie5-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 ) );