Saya memiliki 5 addons / ekstensi untuk FF, Chrome, IE, Opera, dan Safari.
Bagaimana saya bisa mengenali browser pengguna dan mengarahkan ulang (setelah tombol instal telah diklik) untuk mengunduh addon yang sesuai?
Saya memiliki 5 addons / ekstensi untuk FF, Chrome, IE, Opera, dan Safari.
Bagaimana saya bisa mengenali browser pengguna dan mengarahkan ulang (setelah tombol instal telah diklik) untuk mengunduh addon yang sesuai?
Jawaban:
Googling untuk deteksi yang andal pada peramban sering kali menghasilkan pengecekan string Agen pengguna. Metode ini tidak dapat diandalkan, karena sepele untuk menipu nilai ini.
Saya telah menulis metode untuk mendeteksi browser dengan mengetik bebek .
Hanya gunakan metode deteksi peramban jika memang benar-benar diperlukan, seperti memperlihatkan petunjuk khusus peramban untuk memasang ekstensi. Gunakan deteksi fitur bila memungkinkan.
Demo: 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;
The metode sebelumnya tergantung pada sifat dari mesin rendering ( -moz-box-sizing
dan -webkit-transform
) untuk mendeteksi browser. Awalan ini pada akhirnya akan dihapus, sehingga untuk membuat deteksi lebih kuat, saya beralih ke karakteristik khusus peramban:
document.documentMode
.StyleMedia
konstruktor. Mengecualikan Trident meninggalkan kita dengan Edge.InstallTrigger
chrome
Objek global , berisi beberapa properti termasuk chrome.webstore
objek yang didokumentasikan .chrome.webstore
sudah usang dan tidak terdefinisi dalam versi terbaruSafariRemoteNotification
, yang diperkenalkan setelah versi 7.1, untuk mencakup semua Safaris dari 3.0 dan ke atas.window.opera
telah ada selama bertahun-tahun, tetapi akan dibatalkan ketika Opera mengganti mesinnya dengan Blink + V8 (digunakan oleh Chromium). chrome
objek didefinisikan (tetapi chrome.webstore
tidak). Karena Opera berusaha keras untuk mengkloning Chrome, saya menggunakan sniffing agen pengguna untuk tujuan ini.!!window.opr && opr.addons
dapat digunakan untuk mendeteksi Opera 20+ (evergreen).CSS.supports()
diperkenalkan di Blink setelah Google mengaktifkan Chrome 28. Ini tentu saja, Blink yang sama digunakan di Opera.Diperbarui pada November 2016 untuk memasukkan deteksi browser Safari dari 9.1.3 ke atas
Diperbarui pada Agustus 2018 untuk memperbarui tes sukses terbaru pada chrome, firefox IE dan edge.
Diperbarui pada Januari 2019 untuk memperbaiki deteksi krom (karena penghentian window.chrome.webstore) dan menyertakan tes sukses terbaru tentang krom.
Diperbarui pada Desember 2019 untuk menambahkan Edge berdasarkan deteksi Chromium (berdasarkan komentar @Nimesh).
window.chrome.webstore
yang tidak ditentukan di sana. Belum memeriksanya dengan Ekstensi Firefox. is.js
disebutkan di tempat lain tidak berfungsi di Chrome dan Firefox Extensions.
isSafari
tidak bekerja dengan Safari 10. Saya akan berpendapat ini adalah solusi yang buruk (bukannya saya punya yang bagus). Tidak ada jaminan banyak hal yang Anda periksa tidak akan dihapus ATAU tidak akan ditambahkan oleh peramban lain. Setiap situs yang menggunakan kode ini untuk memeriksa Safari baru saja rusak dengan peningkatan MacOS Sierra atau Safari 10 :(
isSafari
tidak berfungsi di <iframe>
bawah Safari 10.1.2
Anda dapat mencoba cara berikut untuk memeriksa versi Browser.
<!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>
Dan jika Anda hanya perlu mengetahui versi IE Browser maka Anda dapat mengikuti kode di bawah ini. Kode ini berfungsi dengan baik untuk versi IE6 ke 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
kata kunci dalam agen pengguna. contoh agen pengguna safari -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 )
Saya tahu mungkin terlalu banyak menggunakan lib untuk itu, tetapi hanya untuk memperkaya utas, Anda dapat memeriksa is.js cara melakukan ini:
is.firefox();
is.ie(6);
is.not.safari();
is.js
dan periksa bagaimana mereka melakukannya.
Berikut adalah beberapa perpustakaan terkemuka yang menangani deteksi peramban hingga Desember 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>
* mendukung Edge berdasarkan Chromium
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>
Jika ada yang menemukan ini berguna, saya telah membuat jawaban Rob W menjadi fungsi yang mengembalikan string browser daripada memiliki beberapa variabel yang mengambang. Karena browser juga tidak dapat benar-benar berubah tanpa memuat lagi, saya telah membuat cache hasil untuk mencegahnya perlu bekerja keluar saat fungsi berikutnya dipanggil.
/**
* 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
dihapus di Chrome 71, jadi pendekatan ini tidak lagi berfungsi.
Varian pendek
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)
Inilah versi Rob yang disesuaikan pada 2016, termasuk Microsoft Edge dan deteksi Blink:
( sunting : Saya memperbarui jawaban Rob di atas dengan informasi ini.)
// 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);
Keindahan dari pendekatan ini adalah bahwa ia bergantung pada properti mesin browser, sehingga mencakup bahkan browser turunan, seperti Yandex atau Vivaldi, yang secara praktis kompatibel dengan browser utama yang mesinnya mereka gunakan. Pengecualiannya adalah Opera, yang bergantung pada sniffing agen pengguna, tetapi hari ini (yaitu ver. 15 ke atas) bahkan Opera sendiri hanya merupakan shell untuk Blink.
!!window.MSAssertion;
tes tidak bekerja untuk saya dalam versi beta Ujung melalui Remote Desktop. Ini mengembalikan false.
MSAssertion
Triknya disesuaikan ke versi 25. Tetapi karena banyak pengembang bergantung pada VM, saya akan mencoba menyesuaikannya dengan versi yang lebih lama ini. Panggilan yang bagus. Terima kasih.
StyleMedia
(dikapitalisasi) objek khusus untuk IE dan Ujung dan tampaknya tidak akan terjadi di mana saja.
Anda dapat menggunakan try
dan catch
menggunakan berbagai pesan kesalahan browser. IE dan edge campur aduk, tetapi saya menggunakan pengetikan bebek dari Rob W (berdasarkan proyek ini di sini: 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;
}
}
};
Terima kasih semuanya. Saya menguji cuplikan kode di sini di browser terbaru: Chrome 55, Firefox 50, IE 11 dan Edge 38 dan saya datang dengan kombinasi berikut yang bekerja untuk saya untuk mereka semua. Saya yakin ini dapat ditingkatkan, tetapi ini adalah solusi cepat untuk siapa pun yang membutuhkan:
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);
Itu menambah kelas CSS ke HTML, dengan nama browser.
Tidak tahu apakah ini berguna bagi siapa pun tetapi di sini ada varian untuk membuat TypeScript bahagia.
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';
}
}
Mendeteksi Peramban di Desktop dan Seluler: Edge, Opera, Chrome, Safari, Firefox, IE
Saya melakukan beberapa perubahan pada kode @nimesh sekarang juga berfungsi untuk Edge, dan masalah Opera diperbaiki:
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';
}
}
Terima kasih @nimesh pengguna: 2063564
Ada juga metode "peretasan" yang kurang berfungsi untuk semua peramban populer. Google telah memasukkan pemeriksaan browser di Perpustakaan Penutupan mereka . Secara khusus, lihat goog.userAgent
dan goog.userAgent.product
. Dengan cara ini, Anda juga terbarui jika ada perubahan dalam cara browser menampilkan diri (mengingat bahwa Anda selalu menjalankan versi terbaru dari kompilator penutupan.)
Jika Anda perlu mengetahui versi numerik dari beberapa browser tertentu, Anda dapat menggunakan cuplikan berikut. Saat ini ia akan memberi tahu Anda versi Chrome / Chromium / Firefox:
var match = $window.navigator.userAgent.match(/(?:Chrom(?:e|ium)|Firefox)\/([0-9]+)\./);
var ver = match ? parseInt(match[1], 10) : 0;
UAParser adalah salah satu Perpustakaan JavaScript yang ringan untuk mengidentifikasi browser, mesin, OS, CPU, dan tipe / model perangkat dari string userAgent.
Ada CDN yang tersedia. Di sini, saya telah memasukkan contoh kode untuk mendeteksi browser menggunakan 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>
Sekarang Anda dapat menggunakan nilai result.browser
untuk memprogram halaman Anda secara kondisional.
Sumber Tutorial: Bagaimana cara mendeteksi browser, mesin, OS, CPU, dan perangkat menggunakan JavaScript?
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',
});
});
Ini menggabungkan jawaban Rob asli dan pembaruan Pilau untuk 2016
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;
Di sini Anda menemukan browser mana yang sedang berjalan.
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")}
}
Kita dapat menggunakan metode util di bawah ini
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)
Sederhana, satu baris kode JavaScript akan memberi Anda nama browser:
function GetBrowser()
{
return navigator ? navigator.userAgent.toLowerCase() : "other";
}
navigator.userAgent
memberi tahu Anda setiap browser yang Anda miliki .. Jadi ini benar-benar tidak dapat diandalkan, satu-satunya hal yang akan berhasil adalah jika pengguna hanya memiliki satu browser.