由于" Power Saver"在Mac OS X Mavericks上为Safari浏览器引入的功能,我想嗅探浏览器的用户代理以检测它何时在Mac OS X 10.9+上运行Safari,以便我可以回到HTML5视频播放器而不是一个Flash。
经过一些研究:
运行Safari / Mac OS X 10.8的PowerBook Pro上的用户代理: " Mozilla / 5.0(Macintosh; Intel Mac OS X 10_8_2)AppleWebKit / 536.26.14(KHTML,与Gecko一样)Version / 6.0.1 Safari / 536.26.14"
运行Safari / Mac OS X 10.9的另一台PowerBook Pro上的用户代理: " Mozilla / 5.0(Macintosh; Intel Mac OS X 10_9_3)AppleWebKit / 537.75.14(KHTML,与Gecko一样)Version / 7.0.3 Safari / 537.75.14"
我主要担心的是,用户代理可能在不同类型的Mac上有所不同,例如Mac Pro。有人可以验证以下解决方案是否适用于Mac OS X 10.9+上的所有Safari浏览器,无论设备如何?
function mayHavePowerSaverEnabled() {
var ua = navigator.userAgent,
versionData;
return ua.match(/\bSafari\b/) && ua.match(/\bMacintosh\b/) && (versionData = ua.match(/\bMac OS X (\d+)_(\d+)/)) && parseInt(versionData[2]) >= 9;
}