hi-ucs/front/public/static/js/modal.js

167 lines
5.4 KiB
Vue
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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">' +
'<div class="model-title">' +
'<span class="title-span">title</span>' +
'<div class="model-close"></div>' +
'</div>' +
'<div class="model-content">content</div>' +
'<div class="controls">' +
'<a class="confirmChrome">下载谷歌浏览器</a>' +
'<a class="confirm360">下载360浏览器</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('.title-span').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('.model-close').onclick =
ModelBoxCon.querySelector('.confirmChrome').onclick =
ModelBoxCon.querySelector('.confirm360').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) {
debugger
var _thisEvent = target.target
if (_thisEvent.classList.contains('confirmChrome')) {
e.option.confirmCallBack('Chrome')
} else if (_thisEvent.classList.contains('confirm360')) {
e.option.confirmCallBack('360')
}
doc.style.display = 'none'
e.isShow = false
return false
},
} || {}
return ModelBox
})()
var opt = new ModelBox({
title: '提示信息',
content: '平台暂不支持IE内核浏览器访问建议使用谷歌(Chrome)或360浏览器极速模式登录',
isShow: false,
confirmCallBack: function(data) {
debugger
// 获取当前系统的方法
const agent = getPCNum()
//console.log('agent------------>', agent)
//console.log('datadatadatadata----------->', data)
if (data === 'Chrome') {
if (agent == 64) {
// 64位操作系统
downloadFile(
'ChromeStandaloneSetup64.exe',
'/static/download/ChromeStandaloneSetup64.exe'
)
} else {
// 32位操作系统
downloadFile(
'ChromeStandalonesetup32.exe',
'/static/download/standalonesetup32.exe'
)
}
} else {
if (agent == 64) {
// 64位操作系统
downloadFile(
'360se13.1.6260.0.exe',
'/static/download/360se13.1.6260.0.exe'
)
} else {
// 32位操作系统
downloadFile(
'360se13.1.6110.0.exe',
'/static/download/360se13.1.6110.0.exe'
)
}
}
},
})
// 提示下载谷歌
if (judgeAgent() !== 'Chrome') {
//alert('哈哈哈不支持')
opt.show()
}