局长信箱-内网端(前端)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

137 lines
3.9 KiB

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<link rel="icon" type="image/svg+xml" href="/favicon.png" />
<meta name="viewport"
content="width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no">
<title>局长信箱</title>
</head>
<body>
<div id="app">
<span class="loader"></span>
</div>
</div>
<script>
function getBrowse() {
var browser = {};
var userAgent = navigator.userAgent.toLowerCase();
var s;
(s = userAgent.match(/msie ([\d.]+)/)) ? browser.ie = s[1] : (s = userAgent.match(/firefox\/([\d.]+)/)) ? browser.firefox = s[1] : (s = userAgent.match(/chrome\/([\d.]+)/)) ? browser.chrome = s[1] : (s = userAgent.match(/opera.([\d.]+)/)) ? browser.opera = s[1] : (s = userAgent.match(/version\/([\d.]+).*safari/)) ? browser.safari = s[1] : 0;
var version = "";
if (browser.ie) {
version = 'IE ' + browser.ie;
}
else {
if (browser.firefox) {
version = 'firefox ' + browser.firefox;
}
else {
if (browser.chrome) {
version = 'chrome ' + browser.chrome;
}
else {
if (browser.opera) {
version = 'opera ' + browser.opera;
}
else {
if (browser.safari) {
version = 'safari ' + browser.safari;
}
else {
version = '未知浏览器';
}
}
}
}
}
return version;
}
function isWin64() {
var agent = navigator.userAgent.toLowerCase();// 获取window的CPU
return agent.indexOf("win64") >= 0 || agent.indexOf("wow64") >= 0;
}
var browseVersion = getBrowse();
console.log('浏览器版本', browseVersion)
var arr = browseVersion.split(' ')
var browse = arr[0];
var version = parseInt(arr[1].substr(0, arr[1].indexOf('.')));
if (browse === 'IE' || (browse === 'chrome' && version < 80)) {
var result = confirm(`系统检测到您的浏览器版本[${browseVersion}]太低可能会影响使用,是否需要下载新版本浏览器?`);
if (result) {
window.open(`${location.origin}/download/${isWin64() ? '109.0.5414.120_chrome_installer_64.exe' : '109.0.5414.120_chrome_installer_32.exe'}`)
}
}
</script>
<script type="module" src="/src/main.ts"></script>
<script src="/js/authen.js"></script>
<script src="/js/pnxclient.js"></script>
</body>
<style>
.loader {
border-style: solid;
box-sizing: border-box;
border-width: 40PX 60PX 30PX 60PX;
border-color: #3760C9 #96DDFC #96DDFC #36BBF7;
animation: envFloating 1s ease-in infinite alternate;
position: fixed;
top: 50%;
right: 50%;
transform: translate(-50%, -50%);
}
.loader:after {
content: "";
position: absolute;
right: 62PX;
top: -40PX;
height: 70PX;
width: 50PX;
background-image:
linear-gradient(#162582 45PX, transparent 0),
linear-gradient(#162582 45PX, transparent 0),
linear-gradient(#162582 45PX, transparent 0);
background-repeat: no-repeat;
background-size: 30PX 4PX;
background-position: 0PX 11PX, 8PX 35PX, 0PX 60PX;
animation: envDropping 0.75s linear infinite;
}
@keyframes envFloating {
0% {
transform: translate(-2PX, -5PX)
}
100% {
transform: translate(0, 5PX)
}
}
@keyframes envDropping {
0% {
background-position: 100PX 11PX, 115PX 35PX, 105PX 60PX;
opacity: 1;
}
50% {
background-position: 0PX 11PX, 20PX 35PX, 5PX 60PX;
}
60% {
background-position: -30PX 11PX, 0PX 35PX, -10PX 60PX;
}
75%,
100% {
background-position: -30PX 11PX, -30PX 35PX, -30PX 60PX;
opacity: 0;
}
}
</style>
</html>