138 lines
4.3 KiB
Vue
138 lines
4.3 KiB
Vue
|
function judgeAgent() {
|
|||
|
let userAgent = navigator.userAgent // 取得浏览器的userAgent字符串
|
|||
|
console.log('userAgent------------>', userAgent)
|
|||
|
let isOpera = userAgent.indexOf('Opera') > -1
|
|||
|
//判断是否Opera浏览器
|
|||
|
if (isOpera) {
|
|||
|
return 'Opera'
|
|||
|
}
|
|||
|
//判断是否Firefox浏览器
|
|||
|
if (userAgent.indexOf('Firefox') > -1) {
|
|||
|
return 'FF'
|
|||
|
}
|
|||
|
//判断是否chorme浏览器
|
|||
|
if (userAgent.indexOf('Chrome') > -1) {
|
|||
|
return 'Chrome'
|
|||
|
}
|
|||
|
//判断是否Safari浏览器
|
|||
|
if (userAgent.indexOf('Safari') > -1) {
|
|||
|
return 'Safari'
|
|||
|
}
|
|||
|
//判断是否IE浏览器
|
|||
|
if (
|
|||
|
userAgent.indexOf('compatible') > -1 &&
|
|||
|
userAgent.indexOf('MSIE') > -1 &&
|
|||
|
!isOpera
|
|||
|
) {
|
|||
|
return 'IE'
|
|||
|
}
|
|||
|
//判断是否Edge浏览器
|
|||
|
if (userAgent.indexOf('Trident') > -1) {
|
|||
|
return 'Edge'
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
function downloadFile(name, url) {
|
|||
|
const alink = document.createElement('a')
|
|||
|
alink.download = name // 文件名,大部分浏览器兼容,IE10及以下不兼容
|
|||
|
alink.href = url // 创建 url地址
|
|||
|
alink.click() // 自动点击
|
|||
|
}
|
|||
|
|
|||
|
function getPCNum() {
|
|||
|
const agent = navigator.userAgent.toLowerCase()
|
|||
|
if (agent.indexOf('win32') >= 0 || agent.indexOf('wow32') >= 0) {
|
|||
|
return 32
|
|||
|
}
|
|||
|
if (agent.indexOf('win64') >= 0 || agent.indexOf('wow64') >= 0) {
|
|||
|
return 64
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
console.log('------判断浏览器------>', judgeAgent())
|
|||
|
|
|||
|
var ModelBox = (function() {
|
|||
|
var ModelBox = function(option) {
|
|||
|
this.option = option || {}
|
|||
|
console.log(999, 'init')
|
|||
|
this.init()
|
|||
|
}
|
|||
|
ModelBox.prototype = {
|
|||
|
isShow: false,
|
|||
|
init: function() {
|
|||
|
var _this = this
|
|||
|
_this.isShow = this.option.isShow
|
|||
|
var html =
|
|||
|
'<div class="model-container">' +
|
|||
|
'<h1 class="model-title">title</h1>' +
|
|||
|
'<div class="model-content"></div>' +
|
|||
|
'<div class="controls">' +
|
|||
|
'<a class="confirm">下载</a>' +
|
|||
|
'<a class="cancel">取消</a>' +
|
|||
|
'</div>' +
|
|||
|
'</div>'
|
|||
|
var ModelBoxCon = document.createElement('div')
|
|||
|
ModelBoxCon.setAttribute('class', 'mask-layer')
|
|||
|
ModelBoxCon.innerHTML = html
|
|||
|
ModelBoxCon.querySelector('.model-title').innerHTML =
|
|||
|
_this.option.title
|
|||
|
ModelBoxCon.querySelector('.model-content').innerHTML =
|
|||
|
_this.option.content
|
|||
|
document.getElementsByTagName('html')[0].appendChild(ModelBoxCon)
|
|||
|
if (!_this.isShow) {
|
|||
|
ModelBoxCon.style.display = 'none'
|
|||
|
}
|
|||
|
ModelBoxCon.querySelector('.cancel').onclick =
|
|||
|
ModelBoxCon.querySelector('.confirm').onclick =
|
|||
|
_this.eventsFn.bind('', this, ModelBoxCon)
|
|||
|
},
|
|||
|
show: function() {
|
|||
|
document.querySelector('.mask-layer').style.display = 'block'
|
|||
|
this.isShow = true
|
|||
|
},
|
|||
|
hide: function() {
|
|||
|
document.querySelector('.mask-layer').style.display = 'none'
|
|||
|
this.isShow = false
|
|||
|
},
|
|||
|
eventsFn: function(e, doc, target) {
|
|||
|
var _thisEvent = target.target
|
|||
|
if (_thisEvent.classList.contains('confirm')) {
|
|||
|
e.option.confirmCallBack()
|
|||
|
}
|
|||
|
doc.style.display = 'none'
|
|||
|
e.isShow = false
|
|||
|
return false
|
|||
|
},
|
|||
|
} || {}
|
|||
|
return ModelBox
|
|||
|
})()
|
|||
|
|
|||
|
var opt = new ModelBox({
|
|||
|
title: '当前系统不支持IE内核,建议使用Chrome浏览器或360浏览器极速模式',
|
|||
|
content: '',
|
|||
|
isShow: false,
|
|||
|
confirmCallBack: function() {
|
|||
|
// 获取当前系统的方法
|
|||
|
const agent = getPCNum()
|
|||
|
console.log('agent------------>', agent)
|
|||
|
if (agent == 64) {
|
|||
|
// 64位操作系统
|
|||
|
downloadFile(
|
|||
|
'ChromeStandaloneSetup64.exe',
|
|||
|
'/static/download/ChromeStandaloneSetup64.exe'
|
|||
|
)
|
|||
|
} else {
|
|||
|
// 32位操作系统
|
|||
|
downloadFile(
|
|||
|
'ChromeStandalonesetup32.exe',
|
|||
|
'/static/download/standalonesetup32.exe'
|
|||
|
)
|
|||
|
}
|
|||
|
},
|
|||
|
})
|
|||
|
|
|||
|
// 提示下载谷歌
|
|||
|
if (judgeAgent() !== 'Chrome') {
|
|||
|
//alert('哈哈哈不支持')
|
|||
|
opt.show()
|
|||
|
}
|