我需要一些返回布尔值的函数,用于检查浏览器是否为Chrome。如何创建此功能?
在我的Mac上的Chrome里运行良好。似乎比上述所有方法更简单或更可靠(在测试userAgent字符串的情况下)。
var isChrome = false;
if (window.chrome && !window.opr){
isChrome = true;
}
console.log(isChrome);
const isChrome = window.chrome && !window.opr;
- ifbamoq检查浏览器是否为Google Chrome:
var isChrome = navigator.userAgent.includes("Chrome") && navigator.vendor.includes("Google Inc");
console.log(navigator.vendor);
// "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.75 Safari/537.36 "
console.log(navigator.userAgent);
// "Google Inc."
if ("webkitAppearance" in document.body.style) {
// do stuff
}
现在你可以使用navigator.userAgent.includes("Chrome")
var isChrome = (navigator.userAgent.indexOf("Chrome") != -1 && navigator.vendor.indexOf("Google Inc") != -1)
使用.indexOf
而不是.includes
可以使其更兼容浏览器。
尽管(或因为)整个重点是使您的代码特定于浏览器,但您需要使条件在大多数(或所有)浏览器中工作。
了解不同桌面浏览器的名称(Firefox,IE,Opera,Edge,Chrome)。除了Safari。
function getBrowserName() {
var browserName = '';
var userAgent = navigator.userAgent;
(typeof InstallTrigger !== 'undefined') && (browserName = 'Firefox');
( /* @cc_on!@*/ false || !!document.documentMode) && (browserName = 'IE');
(!!window.chrome && userAgent.match(/OPR/)) && (browserName = 'Opera');
(!!window.chrome && userAgent.match(/Edge/)) && (browserName = 'Edge');
(!!window.chrome && !userAgent.match(/(OPR|Edge)/)) && (browserName = 'Chrome');
/**
* Expected returns
* Firefox, Opera, Edge, Chrome
*/
return browserName;
}
支持以下浏览器版本:
Opera - 58.0.3135.79
Firefox - 65.0.2 (64-bit)
IE - 11.413.15063 (JS Fiddle no longer supports IE just paste in Console)
Edge - 44.17763.1.0
Chrome - 72.0.3626.121 (Official Build) (64-bit)
原始代码片段不再适用于Chrome,我忘记了它的来源。它以前是适用于Safari的,但我不再拥有Safari,因此无法进行验证。
只有Firefox和IE代码是原始片段的一部分。
检查Opera、Edge和Chrome很简单。它们在userAgent中有所不同。 OPR
只存在于Opera中。 Edge
只存在于Edge中。因此,要检查Chrome,这些字符串不应该出现。
至于Firefox和IE,我无法解释它们的作用。
我将把这个功能添加到我正在编写的 包 中。
请查看:如何检测Safari、Chrome、IE、Firefox和Opera浏览器?
在您的情况下:
var isChrome = (window.chrome.webstore || window.chrome.runtime) && !!window.chrome;
{loadTimes: ƒ, csi: ƒ}
。 - Simon B.var is_chrome = browseris.chrome
或检查其他浏览器:
browseris.firefox
browseris.ie
browseris.safari
同时你也可以检查版本,例如browseris.chrome7up
等。
检查'browseris'对象中的所有现有信息。
所有答案都是错误的。在所有情况下,“Opera”和“Chrome”是相同的。
(编辑部分)
这里是正确的答案。
if (window.chrome && window.chrome.webstore) {
// this is Chrome
}
typeof chrome
或window.chrome
中的任意一个。 - Zilkwindow.chrome.webstore
现在是 undefined
。 - Esteban