当前位置:  开发笔记 > 编程语言 > 正文

使用Javascript检测Google Chrome的安全基于功能的方式?

如何解决《使用Javascript检测GoogleChrome的安全基于功能的方式?》经验,为你挑选了2个好方法。

正如标题所述,我有兴趣找到一个基于安全功能(即不使用navigator.appName或navigator.appVersion)的方式来检测谷歌浏览器.

基于特征我的意思是,例如:

if(window.ActiveXObject) {
    // internet explorer!
}

编辑:正如已经指出的那样,问题没有多大意义(显然,如果你想实现一个功能,你要测试它,如果你想检测一个特定的浏览器,你检查用户代理),对不起,这是凌晨5点;)让我这样说:Chrome是否有任何javascript对象和/或功能...



1> pcorcoran..:
isChrome = function() {
    return Boolean(window.chrome);
}


@Joe Opera 27.0.1698.89115(至少Android版本)似乎没有发布对象`window.chrome`.@xdumaine对象`window.chrome.webstore`在Chrome for Android中不存在.

2> Jan Turoň..:

这个答案已经过时了,但在石器时代它非常相关.

我认为特征检测比navigator.userAgent解析更有用,因为我在这里搜索了Opera的模糊性.没人能知道IE16是否会解析/ MSIE 16.0;/regexp - 但我们可以肯定的是,会有document.all支持.在现实生活中,这些功能通常是浏览器的同义词,例如:"没有XMLHttpRequest?它是f ...... d IE6!" 没有nonIE浏览器支持document.all,但是像Maxthon这样的浏览器可以加扰userAgent.(当然脚本可以出于某种原因在Firefox中定义document.all,但它很容易控制.)因此我建议这个解决方案.

编辑 在这里我找到了完整的资源

编辑2我已经测试了该文档.Opera也支持它!

var is = {
  ff: window.globalStorage,
  ie: document.all && !window.opera,
  ie6: !window.XMLHttpRequest,
  ie7: document.all && window.XMLHttpRequest && !XDomainRequest && !window.opera,
  ie8: document.documentMode==8,
  opera: Boolean(window.opera),
  chrome: Boolean(window.chrome),
  safari: window.getComputedStyle && !window.globalStorage && !window.opera
}

使用很简单:

if(is.ie6) { ... }


这就像是说:你有金色的头发和洁白的牙齿吗?你必须是布拉德皮特......
推荐阅读
kikokikolove
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有