मेरे पास एफएफ, क्रोम, आईई, ओपेरा और सफारी के लिए 5 एडऑन / एक्सटेंशन हैं।
मैं संबंधित ब्राउज़र डाउनलोड करने के लिए उपयोगकर्ता ब्राउज़र और रीडायरेक्ट (एक बार इंस्टॉल बटन पर क्लिक करने के बाद) को कैसे पहचान सकता हूं?
मेरे पास एफएफ, क्रोम, आईई, ओपेरा और सफारी के लिए 5 एडऑन / एक्सटेंशन हैं।
मैं संबंधित ब्राउज़र डाउनलोड करने के लिए उपयोगकर्ता ब्राउज़र और रीडायरेक्ट (एक बार इंस्टॉल बटन पर क्लिक करने के बाद) को कैसे पहचान सकता हूं?
जवाबों:
ब्राउज़र विश्वसनीय खोज के लिए गुग्लिंग करने से अक्सर उपयोगकर्ता एजेंट स्ट्रिंग की जाँच होती है। यह विधि विश्वसनीय नहीं है, क्योंकि यह इस मूल्य को खराब करने के लिए तुच्छ है।
मैंने बतख-टाइप करके ब्राउज़रों का पता लगाने के लिए एक विधि लिखी है ।
केवल ब्राउज़र का पता लगाने की विधि का उपयोग करें यदि यह वास्तव में आवश्यक है, जैसे कि एक्सटेंशन को स्थापित करने के लिए ब्राउज़र-विशिष्ट निर्देश दिखाना। जब संभव हो तो फीचर डिटेक्शन का उपयोग करें।
डेमो: https://jsfiddle.net/6spj1059/
// Opera 8.0+
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Firefox 1.0+
var isFirefox = typeof InstallTrigger !== 'undefined';
// Safari 3.0+ "[object HTMLElementConstructor]"
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof safari !== 'undefined' && safari.pushNotification));
// Internet Explorer 6-11
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1 - 79
var isChrome = !!window.chrome && (!!window.chrome.webstore || !!window.chrome.runtime);
// Edge (based on chromium) detection
var isEdgeChromium = isChrome && (navigator.userAgent.indexOf("Edg") != -1);
// Blink engine detection
var isBlink = (isChrome || isOpera) && !!window.CSS;
var output = 'Detecting browsers by ducktyping:<hr>';
output += 'isFirefox: ' + isFirefox + '<br>';
output += 'isChrome: ' + isChrome + '<br>';
output += 'isSafari: ' + isSafari + '<br>';
output += 'isOpera: ' + isOpera + '<br>';
output += 'isIE: ' + isIE + '<br>';
output += 'isEdge: ' + isEdge + '<br>';
output += 'isEdgeChromium: ' + isEdgeChromium + '<br>';
output += 'isBlink: ' + isBlink + '<br>';
document.body.innerHTML = output;
पिछले विधि प्रतिपादन इंजन (के गुणों पर निर्भर -moz-box-sizing
और -webkit-transform
) ब्राउज़र पता लगाने के लिए। इन उपसर्गों को अंततः गिरा दिया जाएगा, इसलिए पता लगाने को और भी अधिक मजबूत बनाने के लिए, मैंने ब्राउज़र-विशिष्ट विशेषताओं पर स्विच किया:
document.documentMode
।StyleMedia
कंस्ट्रक्टर को उजागर करता है । ट्राइडेंट को छोड़कर हमें एज के साथ छोड़ देता है।InstallTrigger
chrome
ऑब्जेक्ट, जिसमें एक प्रलेखित chrome.webstore
ऑब्जेक्ट सहित कई गुण हैं ।chrome.webstore
हाल के संस्करणों में पदावनत और अपरिभाषित हैSafariRemoteNotification
, जिसे 3.0 के बाद और 3.0 से ऊपर की सभी सफारियों को कवर करने के लिए 7.1 संस्करण के बाद पेश किया गया था।window.opera
वर्षों से अस्तित्व में है, लेकिन जब ओपेरा अपने इंजन को ब्लिंक + वी 8 (क्रोमियम द्वारा उपयोग किया जाता है) के साथ बदल देता है, तो उसे छोड़ दिया जाएगा । chrome
ऑब्जेक्ट को परिभाषित किया गया है (लेकिन chrome.webstore
ऐसा नहीं है)। चूंकि ओपेरा क्रोम को क्लोन करने के लिए कड़ी मेहनत करता है, इसलिए मैं इस उद्देश्य के लिए उपयोगकर्ता एजेंट को सूँघता हूं।!!window.opr && opr.addons
का पता लगाने के लिए इस्तेमाल किया जा सकता है ।CSS.supports()
किए जाने के बाद ब्लिंक में पेश किया गया था ।नवंबर 2016 में अपडेट किया गया। इसमें 9.1.3 और ऊपर से सफारी ब्राउज़रों का पता लगाना शामिल है
अगस्त 2018 में क्रोम, फ़ायरफ़ॉक्स आईई और किनारे पर नवीनतम सफल परीक्षणों को अपडेट करने के लिए अपडेट किया गया।
जनवरी 2019 में क्रोम डिटेक्शन को ठीक करने के लिए अपडेट किया गया (क्योंकि window.chrome.webstore डिप्रेसेशन है) और क्रोम पर नवीनतम सफल परीक्षण शामिल हैं।
क्रोमियम डिटेक्शन (@ निमेश टिप्पणी के आधार पर) पर आधारित एज को जोड़ने के लिए दिसंबर 2019 में अपडेट किया गया।
window.chrome.webstore
वहां अपरिभाषित है। फ़ायरफ़ॉक्स एक्सटेंशन के साथ इसकी जाँच नहीं की गई। is.js
कहीं और उल्लेख क्रोम और फ़ायरफ़ॉक्स एक्सटेंशन दोनों में काम करता है।
isSafari
सफारी 10 के साथ काम नहीं करता है। मेरा तर्क है कि यह एक बुरा समाधान है (ऐसा नहीं है कि मेरे पास एक अच्छा है)। ऐसी कोई गारंटी नहीं है कि आपके द्वारा चेक की गई चीजों में से कई को हटाया नहीं जाएगा या अन्य ब्राउज़रों द्वारा नहीं जोड़ा जाएगा। प्रत्येक साइट जो सफारी के लिए चेक के लिए इस कोड का उपयोग कर रही थी, बस
isSafari
के तहत काम नहीं करता है <iframe>
सफारी 10.1.2 के तहत
आप ब्राउज़र संस्करण की जाँच करने के लिए निम्न तरीके से कोशिश कर सकते हैं।
<!DOCTYPE html>
<html>
<body>
<p>What is the name(s) of your browser?</p>
<button onclick="myFunction()">Try it</button>
<p id="demo"></p>
<script>
function myFunction() {
if((navigator.userAgent.indexOf("Opera") || navigator.userAgent.indexOf('OPR')) != -1 )
{
alert('Opera');
}
else if(navigator.userAgent.indexOf("Chrome") != -1 )
{
alert('Chrome');
}
else if(navigator.userAgent.indexOf("Safari") != -1)
{
alert('Safari');
}
else if(navigator.userAgent.indexOf("Firefox") != -1 )
{
alert('Firefox');
}
else if((navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true )) //IF IE > 10
{
alert('IE');
}
else
{
alert('unknown');
}
}
</script>
</body>
</html>
और अगर आपको केवल IE ब्राउज़र संस्करण को जानने की आवश्यकता है तो आप नीचे दिए गए कोड का अनुसरण कर सकते हैं। यह कोड संस्करण IE6 से IE11 के लिए अच्छी तरह से काम करता है
<!DOCTYPE html>
<html>
<body>
<p>Click on Try button to check IE Browser version.</p>
<button onclick="getInternetExplorerVersion()">Try it</button>
<p id="demo"></p>
<script>
function getInternetExplorerVersion() {
var ua = window.navigator.userAgent;
var msie = ua.indexOf("MSIE ");
var rv = -1;
if (msie > 0 || !!navigator.userAgent.match(/Trident.*rv\:11\./)) // If Internet Explorer, return version number
{
if (isNaN(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))))) {
//For IE 11 >
if (navigator.appName == 'Netscape') {
var ua = navigator.userAgent;
var re = new RegExp("Trident/.*rv:([0-9]{1,}[\.0-9]{0,})");
if (re.exec(ua) != null) {
rv = parseFloat(RegExp.$1);
alert(rv);
}
}
else {
alert('otherbrowser');
}
}
else {
//For < IE11
alert(parseInt(ua.substring(msie + 5, ua.indexOf(".", msie))));
}
return false;
}}
</script>
</body>
</html>
chrome
यूजररी में सफारी में कीवर्ड नहीं होगा । सफारी यूजरेज का उदाहरण -mozilla/5.0 (macintosh; intel mac os x 10_11_5) applewebkit/601.6.17 (khtml, like gecko) version/9.1.1 safari/601.6.17
if(navigator.userAgent.indexOf("Opera") != -1 || navigator.userAgent.indexOf('OPR') != -1 )
मुझे पता है कि इसके लिए एक लीवर का उपयोग करना ओवरकिल हो सकता है, लेकिन सिर्फ धागे को समृद्ध करने के लिए, आप जांच कर सकते हैं । ऐसा करने का तरीका:
is.firefox();
is.ie(6);
is.not.safari();
is.js
और जांचें कि वे यह कैसे करते हैं।
यहां कई प्रमुख लाइब्रेरी हैं जो दिसंबर 2019 तक ब्राउज़र डिटेक्शन को संभालती हैं।
var result = bowser.getParser(window.navigator.userAgent);
console.log(result);
document.write("You are using " + result.parsedResult.browser.name +
" v" + result.parsedResult.browser.version +
" on " + result.parsedResult.os.name);
<script src="https://unpkg.com/bowser@2.7.0/es5.js"></script>
* क्रोमियम पर आधारित एज का समर्थन करता है
console.log(platform);
document.write("You are using " + platform.name +
" v" + platform.version +
" on " + platform.os);
<script src="https://cdnjs.cloudflare.com/ajax/libs/platform/1.3.5/platform.min.js"></script>
console.log($.browser)
document.write("You are using " + $.browser.name +
" v" + $.browser.versionNumber +
" on " + $.browser.platform);
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery-browser/0.1.0/jquery.browser.min.js"></script>
var result = detect.parse(navigator.userAgent);
console.log(result);
document.write("You are using " + result.browser.family +
" v" + result.browser.version +
" on " + result.os.family);
<script src="https://cdnjs.cloudflare.com/ajax/libs/Detect.js/2.2.2/detect.min.js"></script>
console.log(BrowserDetect)
document.write("You are using " + BrowserDetect.browser +
" v" + BrowserDetect.version +
" on " + BrowserDetect.OS);
<script src="https://kylemit.github.io/libraries/libraries/BrowserDetect.js"></script>
यदि किसी को यह उपयोगी लगता है, तो मैंने रॉब डब्ल्यू के उत्तर को एक ऐसे फंक्शन में बनाया है जो ब्राउजर स्ट्रिंग के बजाय कई चर के बारे में बताता है। चूंकि ब्राउज़र वास्तव में फिर से लोड किए बिना बदल नहीं सकता है, इसलिए मैंने इसे अगली बार फ़ंक्शन कहा जाने पर इसे काम करने से रोकने के लिए परिणाम को कैश किया है।
/**
* Gets the browser name or returns an empty string if unknown.
* This function also caches the result to provide for any
* future calls this function has.
*
* @returns {string}
*/
var browser = function() {
// Return cached result if avalible, else get result then cache it.
if (browser.prototype._cachedResult)
return browser.prototype._cachedResult;
// Opera 8.0+
var isOpera = (!!window.opr && !!opr.addons) || !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Firefox 1.0+
var isFirefox = typeof InstallTrigger !== 'undefined';
// Safari 3.0+ "[object HTMLElementConstructor]"
var isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || safari.pushNotification);
// Internet Explorer 6-11
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
var isChrome = !!window.chrome && !!window.chrome.webstore;
// Blink engine detection
var isBlink = (isChrome || isOpera) && !!window.CSS;
return browser.prototype._cachedResult =
isOpera ? 'Opera' :
isFirefox ? 'Firefox' :
isSafari ? 'Safari' :
isChrome ? 'Chrome' :
isIE ? 'IE' :
isEdge ? 'Edge' :
isBlink ? 'Blink' :
"Don't know";
};
console.log(browser());
window.chrome.webstore
क्रोम 71 में संपत्ति को हटा दिया गया था, इसलिए यह दृष्टिकोण अब काम नहीं कर रहा है।
लघु रूप
var browser = (function() {
var test = function(regexp) {
return regexp.test(window.navigator.userAgent);
}
switch (true) {
case test(/edg/i): return "edge";
case test(/opr/i) && (!!window.opr || !!window.opera): return "opera";
case test(/chrome/i) && !!window.chrome: return "chrome";
case test(/trident/i): return "ie";
case test(/firefox/i): return "firefox";
case test(/safari/i): return "safari";
default: return "other";
}
})();
console.log(browser)
यहाँ Microsoft के किनारे और ब्लिंक का पता लगाने सहित रोब के उत्तर का एक समायोजित संस्करण है:
( संपादित करें : मैंने इस जानकारी के साथ रोब के उत्तर को अपडेट किया है।)
// Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Firefox 1.0+
isFirefox = typeof InstallTrigger !== 'undefined';
// Safari 3.0+
isSafari = /constructor/i.test(window.HTMLElement) || (function (p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || safari.pushNotification);
// Internet Explorer 6-11
isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
isChrome = !!window.chrome && !!window.chrome.webstore;
// Blink engine detection
isBlink = (isChrome || isOpera) && !!window.CSS;
/* Results: */
console.log("isOpera", isOpera);
console.log("isFirefox", isFirefox);
console.log("isSafari", isSafari);
console.log("isIE", isIE);
console.log("isEdge", isEdge);
console.log("isChrome", isChrome);
console.log("isBlink", isBlink);
इस दृष्टिकोण की सुंदरता यह है कि यह ब्राउज़र इंजन गुणों पर निर्भर करता है, इसलिए यह यहां तक कि व्युत्पन्न ब्राउज़रों को भी कवर करता है, जैसे कि Yandex या Vivaldi, जो व्यावहारिक रूप से उन प्रमुख ब्राउज़रों के साथ संगत हैं जिनके इंजन वे उपयोग करते हैं। अपवाद ओपेरा है, जो उपयोगकर्ता एजेंट को सूँघने पर निर्भर करता है, लेकिन आज (यानी 15 और ऊपर) भी ओपेरा ही पलक के लिए केवल एक खोल है।
!!window.MSAssertion;
परीक्षण दूरस्थ डेस्कटॉप के माध्यम एज बीटा में मेरे लिए काम नहीं करता। यह झूठा लौटता है।
MSAssertion
चाल को संस्करण 25 में समायोजित किया गया है। लेकिन चूंकि कई देवता वीएम पर भरोसा करते हैं, इसलिए मैं इसे इस पुराने संस्करण को समायोजित करने का प्रयास करूंगा। अच्छा निर्णय। धन्यवाद।
StyleMedia
(पूंजीकृत) वस्तु IE और एज लिए विशिष्ट है और कहीं भी जा रहा करने के लिए प्रतीत नहीं होता।
आप विभिन्न ब्राउज़र त्रुटि संदेशों का उपयोग try
और उपयोग कर सकते हैं catch
। IE और किनारे को मिलाया गया था, लेकिन मैंने रोब डब्ल्यू (इस परियोजना पर आधारित: https://www.khanacademy.org/computer-programming/i-have-opera/2395080328 ) से डक टाइपिंग का उपयोग किया ।
var getBrowser = function() {
try {
var e;
var f = e.width;
} catch(e) {
var err = e.toString();
if(err.indexOf("not an object") !== -1) {
return "safari";
} else if(err.indexOf("Cannot read") !== -1) {
return "chrome";
} else if(err.indexOf("e is undefined") !== -1) {
return "firefox";
} else if(err.indexOf("Unable to get property 'width' of undefined or null reference") !== -1) {
if(!(false || !!document.documentMode) && !!window.StyleMedia) {
return "edge";
} else {
return "IE";
}
} else if(err.indexOf("cannot convert e into object") !== -1) {
return "opera";
} else {
return undefined;
}
}
};
आप सबको धन्यवाद। मैंने हाल के ब्राउज़रों पर यहां कोड स्निपेट्स का परीक्षण किया: क्रोम 55, फ़ायरफ़ॉक्स 50, आईई 11 और एज 38 और मैं निम्नलिखित संयोजन के साथ आया जो उन सभी के लिए मेरे लिए काम करते थे। मुझे यकीन है कि इसमें सुधार किया जा सकता है, लेकिन जो कोई भी जरूरत है उसके लिए यह एक त्वरित समाधान है:
var browser_name = '';
isIE = /*@cc_on!@*/false || !!document.documentMode;
isEdge = !isIE && !!window.StyleMedia;
if(navigator.userAgent.indexOf("Chrome") != -1 && !isEdge)
{
browser_name = 'chrome';
}
else if(navigator.userAgent.indexOf("Safari") != -1 && !isEdge)
{
browser_name = 'safari';
}
else if(navigator.userAgent.indexOf("Firefox") != -1 )
{
browser_name = 'firefox';
}
else if((navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true )) //IF IE > 10
{
browser_name = 'ie';
}
else if(isEdge)
{
browser_name = 'edge';
}
else
{
browser_name = 'other-browser';
}
$('html').addClass(browser_name);
यह ब्राउज़र के नाम के साथ HTML में CSS क्लास जोड़ता है।
कोई विचार नहीं अगर यह किसी के लिए उपयोगी है, लेकिन यहाँ टाइपस्क्रिप्ट को खुश करने के लिए एक संस्करण है।
export function getBrowser() {
// Opera 8.0+
if ((!!window["opr"] && !!["opr"]["addons"]) || !!window["opera"] || navigator.userAgent.indexOf(' OPR/') >= 0) {
return 'opera';
}
// Firefox 1.0+
if (typeof window["InstallTrigger"] !== 'undefined') {
return 'firefox';
}
// Safari 3.0+ "[object HTMLElementConstructor]"
if (/constructor/i.test(window["HTMLElement"]) || (function(p) { return p.toString() === "[object SafariRemoteNotification]"; })(!window['safari'] || (typeof window["safari"] !== 'undefined' && window["safari"].pushNotification))) {
return 'safari';
}
// Internet Explorer 6-11
if (/*@cc_on!@*/false || !!document["documentMode"]) {
return 'ie';
}
// Edge 20+
if (!(/*@cc_on!@*/false || !!document["documentMode"]) && !!window["StyleMedia"]) {
return 'edge';
}
// Chrome 1+
if (!!window["chrome"] && !!window["chrome"].webstore) {
return 'chrome';
}
// Blink engine detection
if (((!!window["chrome"] && !!window["chrome"].webstore) || ((!!window["opr"] && !!["opr"]["addons"]) || !!window["opera"] || navigator.userAgent.indexOf(' OPR/') >= 0)) && !!window["CSS"]) {
return 'blink';
}
}
डेस्कटॉप और मोबाइल पर ब्राउज़रों का पता लगाना: एज, ओपेरा, क्रोम, सफारी, फ़ायरफ़ॉक्स, IE
मैंने @nimesh कोड में कुछ बदलाव किए हैं अब यह एज के लिए भी काम कर रहा है, और ओपेरा मुद्दा तय हो गया है:
function getBrowserName() {
if ( navigator.userAgent.indexOf("Edge") > -1 && navigator.appVersion.indexOf('Edge') > -1 ) {
return 'Edge';
}
else if( navigator.userAgent.indexOf("Opera") != -1 || navigator.userAgent.indexOf('OPR') != -1 )
{
return 'Opera';
}
else if( navigator.userAgent.indexOf("Chrome") != -1 )
{
return 'Chrome';
}
else if( navigator.userAgent.indexOf("Safari") != -1)
{
return 'Safari';
}
else if( navigator.userAgent.indexOf("Firefox") != -1 )
{
return 'Firefox';
}
else if( ( navigator.userAgent.indexOf("MSIE") != -1 ) || (!!document.documentMode == true ) ) //IF IE > 10
{
return 'IE';
}
else
{
return 'unknown';
}
}
धन्यवाद @nimesh उपयोगकर्ता: 2063564
एक कम "हैकी" विधि भी है जो सभी लोकप्रिय ब्राउज़रों के लिए काम करती है। Google ने अपनी क्लोजर लाइब्रेरी में एक ब्राउज़र-चेक शामिल किया है । विशेष रूप से, पर एक नज़र है goog.userAgent
और goog.userAgent.product
। इस तरह, आप भी अद्यतित हैं यदि ब्राउज़र अपने आप को प्रस्तुत करने के तरीके में कुछ बदलता है (यह देखते हुए कि आप हमेशा क्लोजर कंपाइलर का नवीनतम संस्करण चलाते हैं।)
यदि आपको यह जानने की आवश्यकता है कि कुछ विशेष ब्राउज़र का संख्यात्मक संस्करण क्या है तो आप निम्न स्निपेट का उपयोग कर सकते हैं। वर्तमान में यह आपको क्रोम / क्रोमियम / फ़ायरफ़ॉक्स का संस्करण बताएगा:
var match = $window.navigator.userAgent.match(/(?:Chrom(?:e|ium)|Firefox)\/([0-9]+)\./);
var ver = match ? parseInt(match[1], 10) : 0;
UAParser ब्राउज़र, इंजन, OS, CPU और डिवाइस प्रकार / मॉडल को userAgent string से पहचानने के लिए हल्के जावास्क्रिप्ट लाइब्रेरी में से एक है।
वहाँ एक CDN उपलब्ध है। यहां, मैंने UAParser का उपयोग करके ब्राउज़र का पता लगाने के लिए एक उदाहरण कोड शामिल किया है।
<!doctype html>
<html>
<head>
<script src="https://cdn.jsdelivr.net/npm/ua-parser-js@0/dist/ua-parser.min.js"></script>
<script type="text/javascript">
var parser = new UAParser();
var result = parser.getResult();
console.log(result.browser); // {name: "Chromium", version: "15.0.874.106"}
</script>
</head>
<body>
</body>
</html>
अब आप result.browser
सशर्त रूप से अपने पेज को प्रोग्राम करने के लिए मूल्य का उपयोग कर सकते हैं ।
स्रोत ट्यूटोरियल: जावास्क्रिप्ट का उपयोग करके ब्राउज़र, इंजन, ओएस, सीपीयू और डिवाइस का पता कैसे लगाएं?
var BrowserDetect = {
init: function () {
this.browser = this.searchString(this.dataBrowser) || "Other";
this.version = this.searchVersion(navigator.userAgent) || this.searchVersion(navigator.appVersion) || "Unknown";
},
searchString: function (data) {
for (var i = 0; i < data.length; i++) {
var dataString = data[i].string;
this.versionSearchString = data[i].subString;
if (dataString.indexOf(data[i].subString) !== -1) {
return data[i].identity;
}
}
},
searchVersion: function (dataString) {
var index = dataString.indexOf(this.versionSearchString);
if (index === -1) {
return;
}
var rv = dataString.indexOf("rv:");
if (this.versionSearchString === "Trident" && rv !== -1) {
return parseFloat(dataString.substring(rv + 3));
} else {
return parseFloat(dataString.substring(index + this.versionSearchString.length + 1));
}
},
dataBrowser: [
{string: navigator.userAgent, subString: "Edge", identity: "MS Edge"},
{string: navigator.userAgent, subString: "MSIE", identity: "Explorer"},
{string: navigator.userAgent, subString: "Trident", identity: "Explorer"},
{string: navigator.userAgent, subString: "Firefox", identity: "Firefox"},
{string: navigator.userAgent, subString: "Opera", identity: "Opera"},
{string: navigator.userAgent, subString: "OPR", identity: "Opera"},
{string: navigator.userAgent, subString: "Chrome", identity: "Chrome"},
{string: navigator.userAgent, subString: "Safari", identity: "Safari"}
]
};
BrowserDetect.init();
var bv= BrowserDetect.browser;
if( bv == "Chrome"){
$("body").addClass("chrome");
}
else if(bv == "MS Edge"){
$("body").addClass("edge");
}
else if(bv == "Explorer"){
$("body").addClass("ie");
}
else if(bv == "Firefox"){
$("body").addClass("Firefox");
}
$(".relative").click(function(){
$(".oc").toggle('slide', { direction: 'left', mode: 'show' }, 500);
$(".oc1").css({
'width' : '100%',
'margin-left' : '0px',
});
});
यह 2016 के लिए Rob के मूल उत्तर और Pilau के अपडेट दोनों को मिलाता है
var isOpera = !!window.opera || navigator.userAgent.indexOf(' OPR/') >= 0;
// Opera 8.0+ (UA detection to detect Blink/v8-powered Opera)
var isFirefox = typeof InstallTrigger !== 'undefined'; // Firefox 1.0+
var isSafari = Object.prototype.toString.call(window.HTMLElement).indexOf('Constructor') > 0;
// At least Safari 3+: "[object HTMLElementConstructor]"
var isChrome = !!window.chrome && !isOpera; // Chrome 1+
var isIE = /*@cc_on!@*/false || !!document.documentMode;
// Edge 20+
var isEdge = !isIE && !!window.StyleMedia;
// Chrome 1+
var output = 'Detecting browsers by ducktyping:<hr>';
output += 'isFirefox: ' + isFirefox + '<br>';
output += 'isChrome: ' + isChrome + '<br>';
output += 'isSafari: ' + isSafari + '<br>';
output += 'isOpera: ' + isOpera + '<br>';
output += 'isIE: ' + isIE + '<br>';
output += 'isIE Edge: ' + isEdge + '<br>';
document.body.innerHTML = output;
यहां आपको पता चलता है कि यह कौन सा ब्राउज़र चल रहा है।
function isValidBrowser(navigator){
var isChrome = navigator.indexOf('chrome'),
isFireFox= navigator.indexOf('firefox'),
isIE = navigator.indexOf('trident') ,
isValidChromeVer = parseInt(navigator.substring(isChrome+7, isChrome+8)) >= 4,
isValidFireForVer = parseInt(navigator.substring(isFireFox+8, isFireFox+9)) >= 3,
isValidIEVer = parseInt(navigator.substring(isIE+8, isIE+9)) >= 7;
if((isChrome > -1 && isValidChromeVer){ console.log("Chrome Browser")}
if(isFireFox > -1 && isValidFireForVer){ console.log("FireFox Browser")}
if(isIE > -1 && isValidIEVer)){ console.log("IE Browser")}
}
हम नीचे उपयोग विधियों का उपयोग कर सकते हैं
utils.isIE = function () {
var ver = navigator.userAgent;
return ver.indexOf("MSIE") !== -1 || ver.indexOf("Trident") !== -1; // need to check for Trident for IE11
};
utils.isIE32 = function () {
return (utils.isIE() && navigator.appVersion.indexOf('Win64') === -1);
};
utils.isChrome = function () {
return (window.chrome);
};
utils.isFF64 = function () {
var agent = navigator.userAgent;
return (agent.indexOf('Win64') >= 0 && agent.indexOf('Firefox') >= 0);
};
utils.isFirefox = function () {
return (navigator.userAgent.toLowerCase().indexOf('firefox') > -1);
};
const isChrome = /Chrome/.test(navigator.userAgent)
const isFirefox = /Firefox/.test(navigator.userAgent)
जावास्क्रिप्ट कोड की सरल, सिंगल लाइन आपको ब्राउज़र का नाम देगी:
function GetBrowser()
{
return navigator ? navigator.userAgent.toLowerCase() : "other";
}
navigator.userAgent
कि आपके पास हर संभव ब्राउज़र बताता है। इसलिए यह वास्तव में विश्वसनीय नहीं है, केवल यह मामला काम करेगा यदि उपयोगकर्ता के पास केवल एक ब्राउज़र है।