我在Chrome中运行一个函数时遇到了问题,但在Safari中,两个都是基于Webkit的浏览器。
我需要为Chrome自定义函数中的变量,但不需要为Safari自定义。
很可惜,我一直在使用以下代码来检测是否为基于Webkit的浏览器:
if ($.browser.webkit) {
但我需要检测:
if ($.browser.chrome) {
有没有办法编写类似的语句(与上面的语句工作方式相同)?
我在Chrome中运行一个函数时遇到了问题,但在Safari中,两个都是基于Webkit的浏览器。
我需要为Chrome自定义函数中的变量,但不需要为Safari自定义。
很可惜,我一直在使用以下代码来检测是否为基于Webkit的浏览器:
if ($.browser.webkit) {
但我需要检测:
if ($.browser.chrome) {
有没有办法编写类似的语句(与上面的语句工作方式相同)?
$.browser.chrome = /chrom(e|ium)/.test(navigator.userAgent.toLowerCase());
if($.browser.chrome){
............
}
更新:(感谢@Mr. Bacciagalupe的10倍)
jQuery自1.9版及其最新版本中已删除$.browser
。
但是你仍然可以使用$.browser作为独立插件,可以在这里找到。
position()
,我刚刚不得不使用这个。 - Jacobif(/chrom(e|ium)/.test(navigator.userAgent.toLowerCase())){
alert('I am chrome');
}
这个问题已经在这里讨论过:JavaScript:如何找出用户浏览器是否为Chrome?
请尝试这个:
var isChromium = window.chrome;
if(isChromium){
// is Google chrome
} else {
// not Google chrome
}
但更全面和准确的答案是,自IE11、IE Edge和Opera以来,它们也会返回true
给window.chrome
因此,请使用以下内容:
// please note,
// that IE11 now returns undefined again for window.chrome
// and new Opera 30 outputs true for window.chrome
// but needs to check if window.opr is not undefined
// and new IE Edge outputs to true now for window.chrome
// and if not iOS Chrome check
// so use the below updated condition
var isChromium = window.chrome;
var winNav = window.navigator;
var vendorName = winNav.vendor;
var isOpera = typeof window.opr !== "undefined";
var isIEedge = winNav.userAgent.indexOf("Edge") > -1;
var isIOSChrome = winNav.userAgent.match("CriOS");
if (isIOSChrome) {
// is Google Chrome on IOS
} else if(
isChromium !== null &&
typeof isChromium !== "undefined" &&
vendorName === "Google Inc." &&
isOpera === false &&
isIEedge === false
) {
// is Google Chrome
} else {
// not Google Chrome
}
jQuery.support
。我希望这可以帮到你,尽管问题是关于如何使用jQuery,但有时候直接使用JavaScript更简单!
Endless用户是正确的,
$.browser.chrome = (typeof window.chrome === "object");
使用jQuery代码检测Chrome浏览器是最好的方法。
如果您在使用IE浏览器,并添加了GoogleFrame插件,那么
var is_chrome = /chrome/.test( navigator.userAgent.toLowerCase() );
由于GoogleFrame插件修改了navigator属性并在其中添加了chromeframe,因此该代码将被视为Chrome浏览器。
var is_chrome = /chrome/.test( navigator.userAgent.toLowerCase() );
userAgent可以被更改。为了更加健壮,使用由Chrome指定的全局变量。
$.browser.chrome = (typeof window.chrome === "object");
if(navigator.vendor.indexOf('Goog') > -1){
//Your code here
}
in
运算符:"chrome" in window
虽然它不是Jquery,但我自己使用Jquery,但为了浏览器检测,我已经多次使用this page上的脚本。它可以检测所有主要浏览器,还有其他一些。工作几乎全部完成。
var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
if ($.browser.chrome) { // 这是Chrome浏览器 } else if ($.browser.safari) { // 这是Safari浏览器 }
注意:从JQuery版本1.9开始,$.browser已不再支持。您可以使用Modernizr或检测用户代理字符串来实现同样的功能。 - Haim Evgi