做打印的时候,设置的A4纸的div的高度不能使用相同的高度,所以针对不同的浏览器,设置了不同的高度。这些代码是用来判断浏览器的类型的,网上找的着实好累,在这里总结一下。整个项目是webpack+vue的,代码规范使用的ES6。希望对有需要的人有所帮助。
export function _mime(option, value) {
var mimeTypes = navigator.mimeTypes
for (var mt in mimeTypes) {
if (mimeTypes[mt][option] === value) {
return true
}
}
return false
}
/*
浏览器类型判断
*/
export function getBrowserType() {
var ua = navigator.userAgent.toLowerCase()
var is360 = _mime('type', 'application/vnd.chromium.remoting-viewer')
if (window.opr !== undefined) {
return 'opera'
} else if (window.ActiveXObject !== undefined && ua.indexOf('MSIE') !== -1) {
return 'ie'
} else if (ua.indexOf('firefox') !== -1) {
return 'firefox'
} else if (ua.indexOf('safari') !== -1 && ua.indexOf('Version') !== -1) {
return 'safari'
} else if (ua.indexOf('chrome') > 1 && window.chrome !== undefined && is360) {
return '360'
} else if (ua.indexOf('chrome') > 1 && window.chrome !== undefined) {
return 'chrome'
}
}
注意:判断是否是chrome浏览器放在最后,因为那个对于opera来说也是true