如何检测Chrome和Safari浏览器(Webkit)

胭脂:

我正在尝试使用jquery或javascript检测chrome和safari浏览器。我以为我们不应该使用jQuery.browser。这里有什么建议吗?非常感谢!

奥斯卡·贾拉(Oscar Jara):

如果您不想使用$.browser,请看案例1,否则案例23可能会帮助您了解情况,因为不建议使用它$.browser(使用此方法可以欺骗用户代理)。可以使用一种替代方法来jQuery.support检测功能支持而不是代理信息。

但...

如果您坚持要获取浏览器类型(仅Chrome或Safari)但不使用$.browser,则情况1是您要寻找的...


这符合您的要求:

情况1 :( 没有jQuery,没有$ .browser,只有javascript)

现场演示: http //jsfiddle.net/oscarj24/DJ349/

var isChrome = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor);
var isSafari = /Safari/.test(navigator.userAgent) && /Apple Computer/.test(navigator.vendor);

if (isChrome) alert("You are using Chrome!");
if (isSafari) alert("You are using Safari!");

这些案例我以前曾经使用过并且效果很好,但是不建议使用...

情况2 :( 使用jQuery和$ .browser,这很棘手)

现场演示: http //jsfiddle.net/oscarj24/gNENk/

$(document).ready(function(){

    /* Get browser */
    $.browser.chrome = /chrome/.test(navigator.userAgent.toLowerCase());

    /* Detect Chrome */
    if($.browser.chrome){
        /* Do something for Chrome at this point */
        /* Finally, if it is Chrome then jQuery thinks it's 
           Safari so we have to tell it isn't */
        $.browser.safari = false;
    }

    /* Detect Safari */
    if($.browser.safari){
        /* Do something for Safari */
    }

});

情况3 :( 使用jQuery和$ .browser,“优雅”的解决方案)

现场演示: http //jsfiddle.net/oscarj24/uJuEU/

$.browser.chrome = $.browser.webkit && !!window.chrome;
$.browser.safari = $.browser.webkit && !window.chrome;

if ($.browser.chrome) alert("You are using Chrome!");
if ($.browser.safari) alert("You are using Safari!");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何检测Safari,Chrome,IE,Firefox和Opera浏览器?

CSS过渡:Webkit浏览器(Chrome和Safari)中出现奇怪的意外延迟

检测Safari浏览器

如何在Webkit浏览器(Chrome,Safari)的段落的第一行中使用全大写

如何在Firefox和Chrome浏览器中检测NPAPI插件/扩展的首次加载

Chrome和Safari浏览器上的占位符毛刺非常适合mozilla浏览器

如何检测IE和Edge浏览器?

Wordpress jQuery动画滚动无法在Chrome和其他Webkit浏览器中使用

使用jQuery结合Safari浏览器检测和.on('change',function()

Angular Material和Safari浏览器

如何通过Chromedriver和Selenium启动Chrome浏览器

如何通过JavaScript检测到iOS 11上的Safari浏览器正在运行?

chrome和safari浏览器中的kendo ui RTL和LTR问题

如何安装Safari Web浏览器?

如何单独检测浏览器刷新

如何检测浏览器的版本?

如何使用Angular检测浏览器?

如何使用angularjs检测浏览器?

如何使用JavaScript检测浏览器?

如何检测文件被浏览器锁定?

使用php检测iOS7 Safari浏览器

从 CDN 加载字体,在 Chrome 浏览器和 iOS 模拟器的 Safari 上很好,但在 iOS Safari 浏览器上不加载?

视频自动播放在Safari和Chrome桌面浏览器中不起作用

我无法在浏览器中启动tensorboard(Safari和Chrome)

使用JavaScript检查浏览器的方法,例如window,safari和chrome

Safari和Firefox无法正确显示网站,但Chrome浏览器运行良好

浏览器后退按钮在 Safari 和 Chrome 中以不同的方式处理脚本更改

Safari和Chrome浏览器中选项标签词之间的空格不起作用

Anchor在chrome和safari浏览器中不起作用