我希望将操作系统和浏览器添加到body类中,这样可以进行像素级别的样式设计,因为在不同的操作系统/浏览器配置下,字体表现方式不同。经过一些搜索和尝试,我想到唯一的方法是使用indexOf...
var OSName="Unknown OS";
if (navigator.appVersion.indexOf("Win")!=-1) OSName="Windows";
if (navigator.appVersion.indexOf("Mac")!=-1) OSName="MacOS";
if (navigator.appVersion.indexOf("X11")!=-1) OSName="UNIX";
if (navigator.appVersion.indexOf("Linux")!=-1) OSName="Linux";
var agt=navigator.userAgent.toLowerCase();
if (agt.indexOf("opera") != -1) return 'Opera';
if (agt.indexOf("firefox") != -1) return 'Firefox';
if (agt.indexOf("safari") != -1) return 'Safari';
if (agt.indexOf("webkit") != -1) return 'Webkit';
if (agt.indexOf("msie") != -1) return 'Internet Explorer';
if (agt.indexOf("mozilla/5.0") != -1) return 'Mozilla';
我认为这不是一个非常好的解决方案。有没有一些正则表达式可以做到这一点?或者有更快的方法可以做到这一点吗?