我知道这是不好的做法,功能识别应该是构建网站的方法。但这不是我的用例。
我的浏览器扩展程序有不同的发行版,我想根据当前的浏览器更改下载按钮。
我尝试过使用navigator.userAgent
,这已被证明是无用的,因为大多数浏览器都设置了所有热门用户代理。例如,铬有这个。
navigator.userAgent = "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_4) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.110 Safari/537.36"
我看过许多网站的下载按钮都有此功能。这怎么做得好?
编辑:我现在已经了解了为什么“Mozzila / X.X”位于userAgent字符串开头的历史。为误解道歉。
答案 0 :(得分:2)
您可以通过多种方式检测浏览器。
对于Chrome,除了在navigator.userAgent
:
var isChrome = /Chrome/.test(navigator.userAgent);
您也可以查看:
var isChrome = !!window.chrome && !!window.chrome.webstore;
我建议您查看this answer了解更多详情。
您还应该考虑使用Modernizr.js进行浏览器检测。