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()
|
||
} |