浏览器嗅探

| 我知道浏览器嗅探不是为多个浏览器设计网站的正确方法。但是,我的问题与设计一个对每个浏览器都运行良好的网站无关。 我想为用户提供以下功能:如果浏览器是Google Chrome或Firefox 4+,则可以将网站安装为webapp;如果是Opera,则可以作为小部件;如果是Safari,则可以作为扩展...上 基本上,我想使用提供这种安装的按钮在div中滑动。如果浏览器是Safari,则没有显示webapp解决方案的用处,因为Safari不支持它。 那么,我该怎么做呢? 我发现它是基于功能而不是基于useragent 使用Javascript检测基于Google Chrome的安全功能吗?
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
}
它似乎可以满足我的需求,但又短又不笨重,或多或少是恶搞的     
已邀请:
看看jQuery.browser:http://api.jquery.com/jQuery.browser/   $ .browser属性提供   有关Web浏览器的信息   正在访问该页面,据报道   浏览器本身。它包含标志   对于四个最普遍的   浏览器类(Internet Explorer,   Mozilla,Webkit和Opera)以及   版本信息。      可用的标志是:      webkit(从jQuery 1.4开始)safari   (已弃用)歌剧msie mozilla此   该属性立即可用。它   因此可以安全地用于   确定是否打电话   $(document).ready()。 $。浏览器   jQuery 1.3中不推荐使用属性,   并且其功能可能会移至   将来由团队支持的插件   jQuery版本。      因为$ .browser使用   navigator.userAgent确定   平台,很容易受到欺骗   由用户或虚假陈述   浏览器本身。永远是最好的   避免浏览器特定的代码   完全在可能的地方。 $ .support   该属性可用于检测   支持特定功能   而不是依靠$ .browser。     
不用担心什么是正确的。做有效的事;在这种情况下,浏览器嗅探也许是最好或唯一的好选择。     
我从来不了解仅使用导航器对象中的属性的问题:
<script>
    for(var item in navigator)
    {
        document.write(\'navigator.\' + item + \': \' + navigator[item] + \'<br>\');
    }
</script>
他们说
navigator.userAgent
是不可靠的,但您可以进行研究,我认为它可以与
navigator.appName
navigator.vendor
结合使用,具有很高的可靠性。 更新:2013年3月 您必须直接测试您想知道的事情,如果您尝试推断它,那说明您做错了。 例如。如果要使用功能,请直接对其进行测试,不要假设如果使用
document.all
,则可以使用
document.uniqueID
。直接测试ѭ6。 大家都知道用
navigator.userAgent
来确定是否可以使用
window.localStorage
是疯狂的,但是他们并没有意识到ѭ10also也在相反的方向上做同样的事情。 如果您实际上想知道用户代理是什么,那么不幸的是,您只能使用
navigator
对象。 用户代理字符串欺骗不是问题,反正不是您的问题。     
您可以尝试:
BrowserHawk
,(http://www.cyscape.com/showbrow.asp)哪个浏览器在服务器端进行检查。理论上,当确定向最终用户显示内容时,这将减少浏览器端的处理。但是,我不认为这是免费的。他们的特色客户包括Yahoo,AOL,Cisco,Microsoft和Sun。因此,这仅用于最终用户访问该站点的大批量生产。     

要回复问题请先登录注册