Skip to content

Commit

Permalink
init
Browse files Browse the repository at this point in the history
zuoshiyue committed Nov 22, 2024
1 parent 2311af2 commit bb190db
Showing 57 changed files with 4,543 additions and 0 deletions.
201 changes: 201 additions & 0 deletions LICENSE
Original file line number Diff line number Diff line change
@@ -0,0 +1,201 @@
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/

TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION

1. Definitions.

"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.

"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.

"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.

"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.

"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.

"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.

"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).

"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.

"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."

"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.

2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.

3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.

4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:

(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and

(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and

(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and

(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.

You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.

5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.

6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.

7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.

8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.

9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.

END OF TERMS AND CONDITIONS

APPENDIX: How to apply the Apache License to your work.

To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.

Copyright [yyyy] [name of copyright owner]

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
89 changes: 89 additions & 0 deletions css/animation.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,89 @@
/*模糊渐入动画*/
@keyframes fade-in {
0% {
opacity: 0;
backdrop-filter: blur(0px);
}

100% {
opacity: 1;
backdrop-filter: blur(10px);
}
}

@-webkit-keyframes fade-in {
0% {
opacity: 0;
backdrop-filter: blur(0px);
}

100% {
opacity: 1;
backdrop-filter: blur(10px);
}
}

@-moz-keyframes fade-in {
0% {
opacity: 0;
backdrop-filter: blur(0px);
}

100% {
opacity: 1;
backdrop-filter: blur(10px);
}
}

@-o-keyframes fade-in {
0% {
opacity: 0;
backdrop-filter: blur(0px);
}

100% {
opacity: 1;
backdrop-filter: blur(10px);
}
}

/*渐入动画*/
@keyframes fade {
0% {
opacity: 0;
}

100% {
opacity: 1;
}
}

@-webkit-keyframes fade {
0% {
opacity: 0;
}

100% {
opacity: 1;
}
}

@-moz-keyframes fade {
0% {
opacity: 0;
}

100% {
opacity: 1;
}
}

@-o-keyframes fade {
0% {
opacity: 0;
}

100% {
opacity: 1;
}
}
30 changes: 30 additions & 0 deletions css/cursor.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
#cursor {
position: fixed;
width: 18px;
height: 18px;
background: #ffffffcc;
border-radius: 50%;
opacity: 0.25;
z-index: 99999999;
pointer-events: none;
transition: 0.2s ease-in-out;
transition-property: background, opacity, transform;
}

#cursor.hidden {
opacity: 0;
}

#cursor.hover {
opacity: 0.1;
transform: scale(2.5);
}

#cursor.active {
opacity: 0.5;
transform: scale(0.5);
}

* {
cursor: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' width='10px' height='10px'><circle cx='4' cy='4' r='4' fill='white' /></svg>") 4 4, auto !important;
}
18 changes: 18 additions & 0 deletions css/firefox.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
.message,
.time,
.hitokoto,
.music,
.link-card,
.more,
.box-wrapper,
footer {
background: rgba(0, 0, 0, 0.3);
}

.link-card:hover {
background: rgb(0, 0, 0, 0.4);
}

.progress {
background: rgba(0, 0, 0, 0.2) !important;
}
178 changes: 178 additions & 0 deletions css/font.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,178 @@
@font-face {
font-family: "Pacifico-Regular";
src: url('../font/Pacifico-Regular.ttf') format('truetype');
}

@font-face {
font-family: "UnidreamLED";
src: url('../font/UnidreamLED.ttf') format('truetype');
}

@font-face {
font-family: "MiSans";
src: url('../font/MiSans-Regular.woff') format('woff');
}

@font-face {
font-family: "iconfont";
/* Project id 2831425 */
src: url('../font/iconfont.woff2') format('woff2'),
url('../font/iconfont.woff') format('woff'),
url('../font/iconfont.ttf') format('truetype');
}

.iconfont {
font-family: "iconfont" !important;
font-size: 16px;
font-style: normal;
-webkit-font-smoothing: antialiased;
-moz-osx-font-smoothing: grayscale;
}

.icon-z_shangpinheji:before {
content: "\e683";
}

.icon-a-daohangzhiyindingwei-05:before {
content: "\e970";
}

.icon-volume-x:before {
content: "\e67a";
}

.icon-volume-1:before {
content: "\e67b";
}

.icon-volume:before {
content: "\e67c";
}

.icon-volume-2:before {
content: "\e67d";
}

.icon-music:before {
content: "\e986";
}

.icon-next-one:before {
content: "\e609";
}

.icon-next-one-copy:before {
content: "\ebd5";
}

.icon-pause:before {
content: "\e733";
}

.icon-play:before {
content: "\e65c";
}

.icon-undo:before {
content: "\e875";
}

.icon-wrench-fill:before {
content: "\e86e";
}

.icon-plus:before {
content: "\e653";
}

.icon-right:before {
content: "\e613";
}

.icon-right-copy:before {
content: "\ebd4";
}

.icon-times:before {
content: "\e857";
}

.icon-bars:before {
content: "\e61f";
}

.icon-link:before {
content: "\e603";
}

.icon-close:before {
content: "\e656";
}

.icon-photo:before {
content: "\ebd3";
}

.icon-navigation1:before {
content: "\e637";
}

.icon-cloud:before {
content: "\e624";
}

.icon-lab:before {
content: "\e88d";
}

.icon-blog-solid:before {
content: "\e631";
}

.icon-comment-alt-lines:before {
content: "\e679";
}

.icon-music-list:before {
content: "\e699";
}

.icon-youxiang:before {
content: "\e605";
}

.icon-github:before {
content: "\e691";
}

.icon-telegram1:before {
content: "\e731";
}

.icon-QQ:before {
content: "\e882";
}

.icon-twitter:before {
content: "\e883";
}

.icon-github1:before {
content: "\e799";
}

.icon-weixin:before {
content: "\e600";
}

.icon-telegram:before {
content: "\e8db";
}

.icon-yinhao-copy:before {
content: "\e608";
}

.icon-yinhao-copy-copy:before {
content: "\e62e";
}
229 changes: 229 additions & 0 deletions css/lantern.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,229 @@
@charset "UTF-8";

.lantern__warpper {
position: fixed;
top: 12px;
left: 40px;
pointer-events: none;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
z-index: 999
}

.lantern__warpper.lantern__secondary {
left: calc(100% - 130px)
}

.lantern__warpper.lantern__secondary .lantern__box {
-webkit-animation-duration: 3s;
animation-duration: 3s
}

.lantern__box {
position: relative;
display: inline-block;
width: 90px;
height: 70px;
background: rgba(216, 0, 15, .8);
border-radius: 50% 50%;
animation: lantern-swing 3s ease-in-out infinite alternate-reverse;
-webkit-transform-origin: 50% -70px;
-ms-transform-origin: 50% -70px;
transform-origin: 50% -70px;
-webkit-box-shadow: -5px 5px 50px 4px #fa6c00;
box-shadow: -5px 5px 50px 4px #fa6c00
}

.lantern__box:after,
.lantern__box:before {
content: "";
position: absolute;
height: 8px;
width: 45px;
left: 50%;
border: 1px solid #dc8f03;
background: -webkit-gradient(linear, left top, right top, from(#dc8f03), color-stop(orange), color-stop(#dc8f03), color-stop(orange), to(#dc8f03));
background: -o-linear-gradient(left, #dc8f03, orange, #dc8f03, orange, #dc8f03);
background: linear-gradient(90deg, #dc8f03, orange, #dc8f03, orange, #dc8f03)
}

.lantern__box:before {
top: 0;
border-radius: 5px 5px 0 0;
-webkit-transform: translate(-50%, -50%);
-ms-transform: translate(-50%, -50%);
transform: translate(-50%, -50%)
}

.lantern__box:after {
bottom: 0;
border-radius: 0 0 5px 5px;
-webkit-transform: translate(-50%, 50%);
-ms-transform: translate(-50%, 50%);
transform: translate(-50%, 50%)
}

.lantern__line {
position: absolute;
width: 2px;
height: 12px;
top: 0;
left: 50%;
-webkit-transform: translate(-50%, -100%);
-ms-transform: translate(-50%, -100%);
transform: translate(-50%, -100%);
background: #dc8f03
}

.lantern__circle {
width: 80%;
-webkit-box-sizing: border-box;
box-sizing: border-box
}

.lantern__circle,
.lantern__circle .lantern__ellipse {
height: 100%;
margin: 0 auto;
border-radius: 50%;
border: 2px solid #dc8f03
}

.lantern__circle .lantern__ellipse {
width: 50%
}

.lantern__circle .lantern__text {
font-family: 华文行楷, Microsoft YaHei, sans-serif;
font-size: 24.3px;
color: #dc8f03;
font-weight: 700;
line-height: 66px;
text-align: center
}

.lantern__tail {
position: relative;
width: 4px;
height: 12px;
margin: 0 auto;
animation: lantern-swing 3s ease-in-out infinite alternate-reverse;
background: orange;
border-radius: 0 0 5px 5px
}

.lantern__tail .lantern__junction {
position: absolute;
top: 0;
left: 50%;
width: 8px;
height: 8px;
-webkit-transform: translate(-50%, 8.4px);
-ms-transform: translate(-50%, 8.4px);
transform: translate(-50%, 8.4px);
background: #e69603;
border-radius: 50%
}

.lantern__tail .lantern__rect {
position: absolute;
top: 0;
left: 50%;
-webkit-transform: translate(-50%, 10.8px);
-ms-transform: translate(-50%, 10.8px);
transform: translate(-50%, 10.8px);
width: 8px;
height: 24px;
background: orange;
border-radius: 5px 5px 0 5px
}

@-webkit-keyframes lantern-swing {
0% {
-webkit-transform: rotate(-8deg);
transform: rotate(-8deg)
}

to {
-webkit-transform: rotate(8deg);
transform: rotate(8deg)
}
}

@keyframes lantern-swing {
0% {
-webkit-transform: rotate(-8deg);
transform: rotate(-8deg)
}

to {
-webkit-transform: rotate(8deg);
transform: rotate(8deg)
}
}

@media (max-width:460px) {
.lantern__warpper {
top: 8px;
left: 30px
}

.lantern__warpper.lantern__secondary {
left: calc(100% - 80px)
}

.lantern__box {
width: 50px;
height: 40px;
-webkit-transform-origin: 50% -40px;
-ms-transform-origin: 50% -40px;
transform-origin: 50% -40px;
-webkit-box-shadow: -5px 5px 50px -1px #fa6c00;
box-shadow: -5px 5px 50px -1px #fa6c00
}

.lantern__box:after,
.lantern__box:before {
height: 4px;
width: 25px
}

.lantern__line {
width: 2px;
height: 8px
}

.lantern__circle .lantern__text {
font-size: 13.5px;
line-height: 38px
}

.lantern__tail {
width: 4px;
height: 8px
}

.lantern__tail .lantern__junction {
width: 8px;
height: 8px;
-webkit-transform: translate(-50%, 5.6px);
-ms-transform: translate(-50%, 5.6px);
transform: translate(-50%, 5.6px)
}

.lantern__tail .lantern__rect {
-webkit-transform: translate(-50%, 7.2px);
-ms-transform: translate(-50%, 7.2px);
transform: translate(-50%, 7.2px);
width: 8px;
height: 16px
}
}

@media screen and (max-width:720px) {
.lantern__warpper {
display: none;
}
}
125 changes: 125 additions & 0 deletions css/loading.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,125 @@
#loading-box .loading-left-bg,
#loading-box .loading-right-bg {
position: fixed;
z-index: 999998;
width: 50%;
height: 100%;
background-color: rgb(81 81 81 / 80%);
transition: all 0.7s cubic-bezier(0.42, 0, 0, 1.01);
backdrop-filter: blur(10px);
}

#loading-box .loading-right-bg {
right: 0;
}

#loading-box>.spinner-box {
position: fixed;
z-index: 999999;
display: flex;
justify-content: center;
align-items: center;
width: 100%;
height: 100vh;
}

#loading-box .spinner-box .loading-word {
position: absolute;
color: #ffffff;
font-size: 0.95rem;
transform: translateY(64px);
text-align: center;
}

p.loading-title {
font-size: 1.25rem;
margin: 20px 10px 4px 10px;
}

#loading-box .spinner-box .configure-core {
width: 100%;
height: 100%;
background-color: #37474f;
}

div.loaded div.loading-left-bg {
transform: translate(-100%, 0);
}

div.loaded div.loading-right-bg {
transform: translate(100%, 0);
}

div.loaded div.spinner-box {
display: none !important;
}

.loader {
position: absolute;
top: calc(50% - 32px);
left: calc(50% - 32px);
width: 64px;
height: 64px;
border-radius: 50%;
perspective: 800px;
transition: all 0.7s cubic-bezier(0.42, 0, 0, 1.01);
}

.inner {
position: absolute;
box-sizing: border-box;
width: 100%;
height: 100%;
border-radius: 50%;
}

.inner.one {
left: 0%;
top: 0%;
animation: rotate-one 1s linear infinite;
border-bottom: 3px solid #EFEFFA;
}

.inner.two {
right: 0%;
top: 0%;
animation: rotate-two 1s linear infinite;
border-right: 3px solid #EFEFFA;
}

.inner.three {
right: 0%;
bottom: 0%;
animation: rotate-three 1s linear infinite;
border-top: 3px solid #EFEFFA;
}

@keyframes rotate-one {
0% {
transform: rotateX(35deg) rotateY(-45deg) rotateZ(0deg);
}

100% {
transform: rotateX(35deg) rotateY(-45deg) rotateZ(360deg);
}
}

@keyframes rotate-two {
0% {
transform: rotateX(50deg) rotateY(10deg) rotateZ(0deg);
}

100% {
transform: rotateX(50deg) rotateY(10deg) rotateZ(360deg);
}
}

@keyframes rotate-three {
0% {
transform: rotateX(35deg) rotateY(55deg) rotateZ(0deg);
}

100% {
transform: rotateX(35deg) rotateY(55deg) rotateZ(360deg);
}
}
371 changes: 371 additions & 0 deletions css/mobile.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,371 @@
@charset "utf-8";

/*小于1400px时*/
@media (max-width: 1400px) {}

/*小于1200px时*/
@media (max-width: 1200px) {

/*总布局*/
.container,
.container-lg,
.container-md,
.container-sm {
max-width: 1000px !important;
}

.weekday {
display: none;
}

/*音乐播放器*/
.music-text {
max-width: 170px !important;
}
}

/*小于992px时*/
@media (max-width: 992px) {

/*总布局*/
.container,
.container-lg,
.container-md,
.container-sm {
max-width: 900px !important;
}

.col.left {
margin-right: 0.75rem;
}

.col.right {
margin-left: 0.75rem;
}

/*一言*/
.col.hitokotos {
display: none;
}

/*时间卡片*/
.col.times {
margin-left: 0rem;
}

/*日期显示*/
.weekday {
display: inline;
}

/*标题文字*/
.main-img img {
width: 110px;
}

span.img-title {
font-size: 4.75rem;
}

span.img-text {
font-size: 1.75rem;
}

/*链接卡片文字*/
span.link-name {
display: none !important;
}

.link-card i {
margin-left: 10px !important;
margin-right: 10px !important;
}
}

/*小于840px时*/
@media (max-width: 840px) {


/*社交链接*/
.social {
max-width: 100%;
justify-content: center;
}

#link-text {
display: none !important;
}

.link i {
margin: 0px 20px;
}
}

/*小于789px时*/
@media (max-width: 789px) {

/*标题文字*/
span.img-text {
display: none;
}
}

/*小于768px时*/
@media (max-width: 768px) {

/*标题文字*/
.main-img img {
width: 100px;
}

span.img-title {
font-size: 4.5rem;
}
}

/*小于720px时*/
@media (max-width: 720px) {

/*左侧栏高度*/
.main-left {
transform: translateY(20px);
}

/*左侧栏边距*/
.col.left {
margin-right: 0rem;
}

/*右侧栏隐藏*/
.col.right {
display: none;
}

/*右侧栏边距*/
.col.right {
margin-left: 0rem;
}

/*标题文字*/
span.img-text {
display: inline;
}

/*简介*/
.message {
max-width: 100%;
pointer-events: none;
}

/*
.des {
justify-content: space-between;
}
*/

/*链接卡片*/
.link-card {
height: 80px !important;
align-items: center !important;
flex-direction: column !important;
justify-content: center !important;
}

.link-card i {
font-size: 1.75rem;
}

span.link-name {
display: block !important;
font-size: 0.85rem;
}

span.line-text,
i.iconfont.icon-link {
font-size: 1.05rem;
}

/*菜单栏按钮*/
.menu {
display: flex;
justify-content: center;
position: fixed;
top: 84%;
}

.munu-button {
padding: 5px 20px;
background: rgb(0 0 0 / 20%);
backdrop-filter: blur(10px);
border-radius: 6px;
font-size: 1.25rem;
transition: 0.5s;
width: 60px;
display: flex;
justify-content: center;
align-items: center;
height: 40px;
}

/*页脚文字*/
footer {
font-size: 0.85rem;
}

/*一言*/
.col.hitokotos {
margin-right: 0rem;
}

.hitokoto-text,
.hitokoto-from {
font-size: 1.05rem;
}

/*音乐播放器*/
.music-text {
max-width: 100% !important;
}

#music-name {
font-size: 1.05rem;
}

#music-open {
display: none;
}

/*隐藏鼠标样式*/
#cursor {
background: transparent !important;
}

}

/*小于390px时*/
@media (max-width: 390px) {
.main-img img {
display: none;
}
}

/* 大于568px时 */
@media (min-width: 568px) {
.iziToast {
border-radius: 30px !important;
}
}


/* 大于720px时 */
@media (min-width: 720px) {
.menu {
display: none !important;
}
}

/* 大于992px时 */
@media (min-width: 992px) {

/*时钟显示*/
span#win_text,
span#win_speed {
display: none;
}
}

/* 大于1400px时 */
@media (min-width: 1400px) {

/*时钟显示*/
span#win_text,
span#win_speed {
display: inline !important;
}
}


/*
菜单按钮
*/
.menus .col.left {
display: none;
}

.menus .col.right {
display: block !important;
transition: 0.5s;
padding: 0rem 0.75rem;
}

/*功能区调整*/
.menus .col.hitokotos {
display: block;
}

.menus .col.times {
display: none;
}

/*边界布局*/
.menus .row {
--bs-gutter-x: 0rem;
}

.menus .col.\32 {
margin: 0 0.75rem;
}

.menus .logo {
display: inline !important;
text-align: center;
position: fixed;
top: 8%;
font-size: 1.75rem;
}

/*第二屏logo*/
.logo-text {
font-family: 'Pacifico-Regular' !important;
}

/*切换动画*/
/*
.hitokoto,
.time,
.link-card,
.message {
animation: fade-in;
-webkit-animation: fade-in 0.5s;
-moz-animation: fade-in 0.5s;
-o-animation: fade-in 0.5s;
-ms-animation: fade-in 0.5s;
}
*/
.logo,
.line,
.main-img,
.social,
.close,
.hitokoto,
.time,
.link-card,
.message,
#link-text {
animation: fade 0.5;
-webkit-animation: fade 0.5s;
-moz-animation: fade 0.5s;
-o-animation: fade 0.5s;
-ms-animation: fade 0.5s;
}

/*
移动端功能区切换
*/
.mobile .col.hitokotos {
display: none;
}

.mobile .col.times {
display: block;
}
950 changes: 950 additions & 0 deletions css/style.css

Large diffs are not rendered by default.

Binary file added favicon.ico
Binary file not shown.
Binary file added font/MiSans-Regular.woff
Binary file not shown.
Binary file added font/Pacifico-Regular.ttf
Binary file not shown.
Binary file added font/UnidreamLED.ttf
Binary file not shown.
Binary file added font/iconfont.ttf
Binary file not shown.
Binary file added font/iconfont.woff
Binary file not shown.
Binary file added font/iconfont.woff2
Binary file not shown.
Binary file added img/background1.webp
Binary file not shown.
Binary file added img/background10.webp
Binary file not shown.
Binary file added img/background2.webp
Binary file not shown.
Binary file added img/background3.webp
Binary file not shown.
Binary file added img/background4.webp
Binary file not shown.
Binary file added img/background5.webp
Binary file not shown.
Binary file added img/background6.webp
Binary file not shown.
Binary file added img/background7.webp
Binary file not shown.
Binary file added img/background8.webp
Binary file not shown.
Binary file added img/background9.webp
Binary file not shown.
Binary file added img/icon/apple-touch-icon.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/icon/candle.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/icon/favicon.ico
Binary file not shown.
Binary file added img/icon/logo.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/icon/music.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/icon/pause.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/icon/play.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added img/icon/warn.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
479 changes: 479 additions & 0 deletions index.html

Large diffs are not rendered by default.

96 changes: 96 additions & 0 deletions js/cursor.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,96 @@
var CURSOR;

Math.lerp = (a, b, n) => (1 - n) * a + n * b;

const getStyle = (el, attr) => {
try {
return window.getComputedStyle ?
window.getComputedStyle(el)[attr] :
el.currentStyle[attr];
} catch (e) {}
return "";
};

class Cursor {
constructor() {
this.pos = {
curr: null,
prev: null
};
this.pt = [];
this.create();
this.init();
this.render();
}

move(left, top) {
this.cursor.style["left"] = `${left}px`;
this.cursor.style["top"] = `${top}px`;
}

create() {
if (!this.cursor) {
this.cursor = document.createElement("div");
this.cursor.id = "cursor";
this.cursor.classList.add("hidden");
document.body.append(this.cursor);
}

var el = document.getElementsByTagName('*');
for (let i = 0; i < el.length; i++)
if (getStyle(el[i], "cursor") == "pointer")
this.pt.push(el[i].outerHTML);

document.body.appendChild((this.scr = document.createElement("style")));
this.scr.innerHTML =
`* {cursor: url("data:image/svg+xml,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8' width='8px' height='8px'><circle cx='4' cy='4' r='4' opacity='.5'/></svg>") 4 4, auto}`;
}

refresh() {
this.scr.remove();
this.cursor.classList.remove("hover");
this.cursor.classList.remove("active");
this.pos = {
curr: null,
prev: null
};
this.pt = [];

this.create();
this.init();
this.render();
}

init() {
document.onmouseover = e => this.pt.includes(e.target.outerHTML) && this.cursor.classList.add("hover");
document.onmouseout = e => this.pt.includes(e.target.outerHTML) && this.cursor.classList.remove("hover");
document.onmousemove = e => {
(this.pos.curr == null) && this.move(e.clientX - 8, e.clientY - 8);
this.pos.curr = {
x: e.clientX - 8,
y: e.clientY - 8
};
this.cursor.classList.remove("hidden");
};
document.onmouseenter = e => this.cursor.classList.remove("hidden");
document.onmouseleave = e => this.cursor.classList.add("hidden");
document.onmousedown = e => this.cursor.classList.add("active");
document.onmouseup = e => this.cursor.classList.remove("active");
}

render() {
if (this.pos.prev) {
this.pos.prev.x = Math.lerp(this.pos.prev.x, this.pos.curr.x, 0.45);
this.pos.prev.y = Math.lerp(this.pos.prev.y, this.pos.curr.y, 0.45);
this.move(this.pos.prev.x, this.pos.prev.y);
} else {
this.pos.prev = this.pos.curr;
}
requestAnimationFrame(() => this.render());
}
}

(() => {
CURSOR = new Cursor();
// 需要重新获取列表时,使用 CURSOR.refresh()
})();
164 changes: 164 additions & 0 deletions js/js.cookie.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,164 @@
/*!
* JavaScript Cookie v2.2.1
* https://github.com/js-cookie/js-cookie
*
* Copyright 2006, 2015 Klaus Hartl & Fagner Brack
* Released under the MIT license
*/
;
(function (factory) {
var registeredInModuleLoader;
if (typeof define === 'function' && define.amd) {
define(factory);
registeredInModuleLoader = true;
}
if (typeof exports === 'object') {
module.exports = factory();
registeredInModuleLoader = true;
}
if (!registeredInModuleLoader) {
var OldCookies = window.Cookies;
var api = window.Cookies = factory();
api.noConflict = function () {
window.Cookies = OldCookies;
return api;
};
}
}(function () {
function extend() {
var i = 0;
var result = {};
for (; i < arguments.length; i++) {
var attributes = arguments[i];
for (var key in attributes) {
result[key] = attributes[key];
}
}
return result;
}

function decode(s) {
return s.replace(/(%[0-9A-Z]{2})+/g, decodeURIComponent);
}

function init(converter) {
function api() {}

function set(key, value, attributes) {
if (typeof document === 'undefined') {
return;
}

attributes = extend({
path: '/'
}, api.defaults, attributes);

if (typeof attributes.expires === 'number') {
attributes.expires = new Date(new Date() * 1 + attributes.expires * 864e+5);
}

// We're using "expires" because "max-age" is not supported by IE
attributes.expires = attributes.expires ? attributes.expires.toUTCString() : '';

try {
var result = JSON.stringify(value);
if (/^[\{\[]/.test(result)) {
value = result;
}
} catch (e) {}

value = converter.write ?
converter.write(value, key) :
encodeURIComponent(String(value))
.replace(/%(23|24|26|2B|3A|3C|3E|3D|2F|3F|40|5B|5D|5E|60|7B|7D|7C)/g, decodeURIComponent);

key = encodeURIComponent(String(key))
.replace(/%(23|24|26|2B|5E|60|7C)/g, decodeURIComponent)
.replace(/[\(\)]/g, escape);

var stringifiedAttributes = '';
for (var attributeName in attributes) {
if (!attributes[attributeName]) {
continue;
}
stringifiedAttributes += '; ' + attributeName;
if (attributes[attributeName] === true) {
continue;
}

// Considers RFC 6265 section 5.2:
// ...
// 3. If the remaining unparsed-attributes contains a %x3B (";")
// character:
// Consume the characters of the unparsed-attributes up to,
// not including, the first %x3B (";") character.
// ...
stringifiedAttributes += '=' + attributes[attributeName].split(';')[0];
}

return (document.cookie = key + '=' + value + stringifiedAttributes);
}

function get(key, json) {
if (typeof document === 'undefined') {
return;
}

var jar = {};
// To prevent the for loop in the first place assign an empty array
// in case there are no cookies at all.
var cookies = document.cookie ? document.cookie.split('; ') : [];
var i = 0;

for (; i < cookies.length; i++) {
var parts = cookies[i].split('=');
var cookie = parts.slice(1).join('=');

if (!json && cookie.charAt(0) === '"') {
cookie = cookie.slice(1, -1);
}

try {
var name = decode(parts[0]);
cookie = (converter.read || converter)(cookie, name) ||
decode(cookie);

if (json) {
try {
cookie = JSON.parse(cookie);
} catch (e) {}
}

jar[name] = cookie;

if (key === name) {
break;
}
} catch (e) {}
}

return key ? jar[key] : jar;
}

api.set = set;
api.get = function (key) {
return get(key, false /* read as raw */ );
};
api.getJSON = function (key) {
return get(key, true /* read as json */ );
};
api.remove = function (key, attributes) {
set(key, '', extend(attributes, {
expires: -1
}));
};

api.defaults = {};

api.withConverter = init;

return api;
}

return init(function () {});
}));
21 changes: 21 additions & 0 deletions js/lantern.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
/*!
* china-lantern v1.6.0
* (c) 2020-2021 fz6m
* Released under the MIT License.
*/
! function (t) {
"function" == typeof define && define.amd ? define(t) : t()
}((function () {
"use strict";
! function (t, e) {
void 0 === e && (e = {});
var n = e.insertAt;
if (t && "undefined" != typeof document) {
var r = document.head || document.getElementsByTagName("head")[0],
a = document.createElement("style");
a.type = "text/css", "top" === n && r.firstChild ? r.insertBefore(a, r.firstChild) : r.appendChild(a), a.styleSheet ? a.styleSheet.cssText = t : a.appendChild(document.createTextNode(t))
}
};
var t;
(t = document.createElement("div")).className = "j-china-lantern", t.innerHTML = '<div class="lantern__warpper"><div class="lantern__box"><div class="lantern__line"></div><div class="lantern__circle"><div class="lantern__ellipse"><div class="lantern__text">新</div></div></div><div class="lantern__tail"><div class="lantern__rect"></div><div class="lantern__junction"></div></div></div></div><div class="lantern__warpper lantern__secondary"><div class="lantern__box"><div class="lantern__line"></div><div class="lantern__circle"><div class="lantern__ellipse"><div class="lantern__text">年</div></div></div><div class="lantern__tail"><div class="lantern__rect"></div><div class="lantern__junction"></div></div></div></div>', document.body.appendChild(t)
}));
342 changes: 342 additions & 0 deletions js/main.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,342 @@
//弹窗样式
iziToast.settings({
timeout: 10000,
progressBar: false,
close: false,
closeOnEscape: true,
position: 'topCenter',
transitionIn: 'bounceInDown',
transitionOut: 'flipOutX',
displayMode: 'replace',
layout: '1',
backgroundColor: '#00000040',
titleColor: '#efefef',
messageColor: '#efefef',
iconColor: '#efefef',
});

//加载完成后执行
window.addEventListener('load', function () {

//载入动画
$('#loading-box').attr('class', 'loaded');
$('#bg').css("cssText", "transform: scale(1);filter: blur(0px);transition: ease 1.5s;");
$('.cover').css("cssText", "opacity: 1;transition: ease 1.5s;");
$('#section').css("cssText", "transform: scale(1) !important;opacity: 1 !important;filter: blur(0px) !important");

//用户欢迎
setTimeout(function () {
iziToast.show({
timeout: 2500,
title: hello,
message: '欢迎来到我的主页'
});
}, 800);
}, false)

setTimeout(function () {
$('#loading-text').html("字体及文件加载可能需要一定时间")
}, 3000);

//延迟加载音乐播放器
function downloadJSAtOnload() {
var element = document.createElement("script");
element.src = "./js/music.js";
document.body.appendChild(element);
}
if (window.addEventListener)
window.addEventListener("load", downloadJSAtOnload, false);
else if (window.attachEvent)
window.attachEvent("onload", downloadJSAtOnload);
else window.onload = downloadJSAtOnload;

//新春灯笼 ( 需要时取消注释 )
/*
new_element=document.createElement("link");
new_element.setAttribute("rel","stylesheet");
new_element.setAttribute("type","text/css");
new_element.setAttribute("href","./css/lantern.css");
document.body.appendChild(new_element);
new_element=document.createElement("script");
new_element.setAttribute("type","text/javascript");
new_element.setAttribute("src","./js/lantern.js");
document.body.appendChild(new_element);
*/

//火狐浏览器独立样式
if (isFirefox = navigator.userAgent.indexOf("Firefox") > 0) {
var head = document.getElementsByTagName('head')[0];
var link = document.createElement('link');
link.href = './css/firefox.css';
link.rel = 'stylesheet';
link.type = 'text/css';
head.appendChild(link);
window.addEventListener('load', function () {
iziToast.show({
timeout: 8000,
iconUrl: './img/icon/warn.png',
message: '您正在使用火狐浏览器,部分功能可能不支持'
});
}, false)
}

//获取一言
fetch('https://v1.hitokoto.cn?max_length=24')
.then(response => response.json())
.then(data => {
$('#hitokoto_text').html(data.hitokoto)
$('#from_text').html(data.from)
})
.catch(console.error)

//获取天气
//每日限量 100 次
//请前往 https://www.tianqiapi.com/ 申请(免费)
fetch('https://www.yiketianqi.com/free/day?appid=43986679&appsecret=TksqGZT7&unescape=1')
.then(response => response.json())
.then(data => {
$('#wea_text').html(data.wea)
$('#city_text').html(data.city)
$('#tem_night').html(data.tem_night)
$('#tem_day').html(data.tem_day)
// $('#win_text').html(data.win)
// $('#win_speed').html(data.win_speed)
})
.catch(console.error)

//获取时间
var t = null;
t = setTimeout(time, 1000);

function time() {
clearTimeout(t);
dt = new Date();
var y = dt.getYear() + 1900;
var mm = dt.getMonth() + 1;
var d = dt.getDate();
var weekday = ["星期日", "星期一", "星期二", "星期三", "星期四", "星期五", "星期六"];
var day = dt.getDay();
var h = dt.getHours();
var m = dt.getMinutes();
var s = dt.getSeconds();
if (h < 10) {
h = "0" + h;
}
if (m < 10) {
m = "0" + m;
}
if (s < 10) {
s = "0" + s;
}
//document.getElementById("time").innerHTML = y + "&nbsp;年&nbsp;" + mm + "&nbsp;月&nbsp;" + d + "&nbsp;日&nbsp;" + "<span class='weekday'>" + weekday[day] + "</span><br>" + "<span class='time-text'>" + h + ":" + m + ":" + s + "</span>";
$("#time").html(y + "&nbsp;年&nbsp;" + mm + "&nbsp;月&nbsp;" + d + "&nbsp;日&nbsp;" + "<span class='weekday'>" + weekday[day] + "</span><br>" + "<span class='time-text'>" + h + ":" + m + ":" + s + "</span>");
t = setTimeout(time, 1000);
}

//链接提示文字
$("#social").mouseover(function () {
$("#social").css({
"background": "rgb(0 0 0 / 25%)",
'border-radius': '6px',
"backdrop-filter": "blur(5px)"
});
$("#link-text").css({
"display": "block",
});
}).mouseout(function () {
$("#social").css({
"background": "none",
"border-radius": "6px",
"backdrop-filter": "none"
});
$("#link-text").css({
"display": "none"
});
});

$("#github").mouseover(function () {
$("#link-text").html("去 Github 看看");
}).mouseout(function () {
$("#link-text").html("通过这里联系我");
});
$("#qq").mouseover(function () {
$("#link-text").html("有什么事吗");
}).mouseout(function () {
$("#link-text").html("通过这里联系我");
});
$("#email").mouseover(function () {
$("#link-text").html("来封 Email");
}).mouseout(function () {
$("#link-text").html("通过这里联系我");
});
$("#telegram").mouseover(function () {
$("#link-text").html("你懂的 ~");
}).mouseout(function () {
$("#link-text").html("通过这里联系我");
});
$("#twitter").mouseover(function () {
$("#link-text").html("你懂的 ~");
}).mouseout(function () {
$("#link-text").html("通过这里联系我");
});

//更多页面切换
var shoemore = false;
$('#switchmore').on('click', function () {
shoemore = !shoemore;
if (shoemore && $(document).width() >= 990) {
$('#container').attr('class', 'container mores');
$("#change").html("Oops&nbsp;!");
$("#change1").html("哎呀,这都被你发现了( 再点击一次可关闭 )");
} else {
$('#container').attr('class', 'container');
$("#change").html("Hello&nbsp;World&nbsp;!");
$("#change1").html("一个建立于 21 世纪的小站,存活于互联网的边缘");
}
});

//更多页面关闭按钮
$('#close').on('click', function () {
$('#switchmore').click();
});

//移动端菜单栏切换
var switchmenu = false;
$('#switchmenu').on('click', function () {
switchmenu = !switchmenu;
if (switchmenu) {
$('#row').attr('class', 'row menus');
$("#menu").html("<i class='iconfont icon-times'></i>");
} else {
$('#row').attr('class', 'row');
$("#menu").html("<i class='iconfont icon-bars'>");
}
});

//更多弹窗页面
$('#openmore').on('click', function () {
$('#box').css("display", "block");
$('#row').css("display", "none");
$('#more').css("cssText", "display:none !important");
});
$('#closemore').on('click', function () {
$('#box').css("display", "none");
$('#row').css("display", "flex");
$('#more').css("display", "flex");
});

//监听网页宽度
window.addEventListener('load', function () {
window.addEventListener('resize', function () {
//关闭移动端样式
if (window.innerWidth >= 600) {
$('#row').attr('class', 'row');
$("#menu").html("<i class='iconfont icon-bars'>");
//移除移动端切换功能区
$('#rightone').attr('class', 'row rightone');
}

if (window.innerWidth <= 990) {
//移动端隐藏更多页面
$('#container').attr('class', 'container');
$("#change").html("Hello&nbsp;World&nbsp;!");
$("#change1").html("一个建立于 21 世纪的小站,存活于互联网的边缘");

//移动端隐藏弹窗页面
$('#box').css("display", "none");
$('#row').css("display", "flex");
$('#more').css("display", "flex");
}
})
})

//移动端切换功能区
var changemore = false;
$('#changemore').on('click', function () {
changemore = !changemore;
if (changemore) {
$('#rightone').attr('class', 'row menus mobile');
} else {
$('#rightone').attr('class', 'row menus');
}
});

//更多页面显示关闭按钮
$("#more").hover(function () {
$('#close').css("display", "block");
}, function () {
$('#close').css("display", "none");
})

//屏蔽右键
document.oncontextmenu = function () {
iziToast.show({
timeout: 2000,
iconUrl: './img/icon/warn.png',
message: '为了浏览体验,本站禁用右键'
});
return false;
}

//自动变灰
var myDate = new Date;
var mon = myDate.getMonth() + 1;
var date = myDate.getDate();
var days = ['4.4', '5.12', '7.7', '9.9', '9.18', '12.13'];
for (var day of days) {
var d = day.split('.');
if (mon == d[0] && date == d[1]) {
document.write(
'<style>html{-webkit-filter:grayscale(100%);-moz-filter:grayscale(100%);-ms-filter:grayscale(100%);-o-filter:grayscale(100%);filter:progid:DXImageTransform.Microsoft.BasicImage(grayscale=1);_filter:none}</style>'
)
$("#change").html("Silence&nbsp;in&nbsp;silence");
$("#change1").html("今天是中国国家纪念日,全站已切换为黑白模式");
window.addEventListener('load', function () {
iziToast.show({
timeout: 14000,
iconUrl: './img/icon/candle.png',
message: '今天是中国国家纪念日'
});
}, false);
}
}

//控制台输出
var styleTitle1 = `
font-size: 20px;
font-weight: 600;
color: rgb(244,167,89);
`
var styleTitle2 = `
font-size:12px;
color: rgb(244,167,89);
`
var styleContent = `
color: rgb(30,152,255);
`
var title1 = '無名の主页'
var title2 = `
_____ __ __ _______ ____ __
|_ _| \\/ |/ ____\\ \\ / /\\ \\ / /
| | | \\ / | (___ \\ \\_/ / \\ \\_/ /
| | | |\\/| |\\___ \\ \\ / \\ /
_| |_| | | |____) | | | | |
|_____|_| |_|_____/ |_| |_|
`
var content = `
版 本 号:2.2
更新日期:2022-04-12
更新说明:
1. 新增 壁纸个性化设置
2. 新增 音乐播放器支持音量控制
3. 优化 部分动画及细节
4. 优化 页面加载缓慢
5. 优化 音乐延迟加载
主页: https://www.imsyy.top
Github: https://github.com/imsyy/home
`
console.log(`%c${title1} %c${title2}
%c${content}`, styleTitle1, styleTitle2, styleContent)
506 changes: 506 additions & 0 deletions js/music.js

Large diffs are not rendered by default.

115 changes: 115 additions & 0 deletions js/set.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,115 @@
// 背景图片 Cookies
function setBgImg(bg_img) {
if (bg_img) {
Cookies.set('bg_img', bg_img, {
expires: 36500
});
return true;
}
return false;
}

// 获取背景图片 Cookies
function getBgImg() {
var bg_img_local = Cookies.get('bg_img');
if (bg_img_local && bg_img_local !== "{}") {
return JSON.parse(bg_img_local);
} else {
setBgImg(bg_img_preinstall);
return bg_img_preinstall;
}
}

var bg_img_preinstall = {
"type": "1", // 1:默认背景 2:每日一图 3:随机风景 4:随机动漫
"path": "", //自定义图片
};


// 更改背景图片
function setBgImgInit() {
var bg_img = getBgImg();
$("input[name='wallpaper-type'][value=" + bg_img["type"] + "]").click();

switch (bg_img["type"]) {
case "1":
var pictures = new Array();
pictures[0] = './img/background1.webp';
pictures[1] = './img/background2.webp';
pictures[2] = './img/background3.webp';
pictures[3] = './img/background4.webp';
pictures[4] = './img/background5.webp';
pictures[5] = './img/background6.webp';
pictures[6] = './img/background7.webp';
pictures[7] = './img/background8.webp';
pictures[8] = './img/background9.webp';
pictures[9] = './img/background10.webp';
var rd = Math.floor(Math.random() * 10);
$('#bg').attr('src', pictures[rd]) //随机默认壁纸
break;
case "2":
$('#bg').attr('src', 'https://api.dujin.org/bing/1920.php'); //必应每日
break;
case "3":
$('#bg').attr('src', 'https://api.ixiaowai.cn/gqapi/gqapi.php'); //随机风景
break;
case "4":
$('#bg').attr('src', 'https://api.ixiaowai.cn/api/api.php'); //随机动漫
break;
}
}

$(document).ready(function () {
// 壁纸数据加载
setBgImgInit();
// 设置背景图片
$("#wallpaper").on("click", ".set-wallpaper", function () {
var type = $(this).val();
var bg_img = getBgImg();
bg_img["type"] = type;

if (type === "1") {
setBgImg(bg_img);
var pictures = new Array();
pictures[0] = './img/background1.webp';
pictures[1] = './img/background2.webp';
pictures[2] = './img/background3.webp';
pictures[3] = './img/background4.webp';
pictures[4] = './img/background5.webp';
pictures[5] = './img/background6.webp';
pictures[6] = './img/background7.webp';
pictures[7] = './img/background8.webp';
pictures[8] = './img/background9.webp';
pictures[9] = './img/background10.webp';
var rd = Math.floor(Math.random() * 10);
$('#bg').attr('src', pictures[rd]) //随机默认壁纸
iziToast.show({
message: '壁纸设置成功',
});
}

if (type === "2") {
setBgImg(bg_img);
$('#bg').attr('src', 'https://api.dujin.org/bing/1920.php'); //必应每日
iziToast.show({
message: '壁纸设置成功',
});
}

if (type === "3") {
setBgImg(bg_img);
$('#bg').attr('src', 'https://api.ixiaowai.cn/gqapi/gqapi.php'); //随机风景
iziToast.show({
message: '壁纸设置成功',
});
}

if (type === "4") {
setBgImg(bg_img);
$('#bg').attr('src', 'https://api.ixiaowai.cn/api/api.php'); //随机动漫
iziToast.show({
message: '壁纸设置成功',
});
}
});
});
68 changes: 68 additions & 0 deletions js/time.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
function init_life_time() {
function getAsideLifeTime() {
/* 当前时间戳 */
let nowDate = +new Date();
/* 今天开始时间戳 */
let todayStartDate = new Date(new Date().toLocaleDateString()).getTime();
/* 今天已经过去的时间 */
let todayPassHours = (nowDate - todayStartDate) / 1000 / 60 / 60;
/* 今天已经过去的时间比 */
let todayPassHoursPercent = (todayPassHours / 24) * 100;
$('#dayProgress .date-text span').html(parseInt(todayPassHours));
$('#dayProgress .progress .progress-bar').css('width', parseInt(todayPassHoursPercent) + '%');
$('#dayProgress .progress .progress-bar').html(parseInt(todayPassHoursPercent) + '%');
/* 当前周几 */
let weeks = {
0: 7,
1: 1,
2: 2,
3: 3,
4: 4,
5: 5,
6: 6
};
let weekDay = weeks[new Date().getDay()];
let weekDayPassPercent = (weekDay / 7) * 100;
$('#weekProgress .date-text span').html(weekDay);
$('#weekProgress .progress .progress-bar').css('width', parseInt(weekDayPassPercent) + '%');
$('#weekProgress .progress .progress-bar').html(parseInt(weekDayPassPercent) + '%');
/* 月 */
let year = new Date().getFullYear();
let date = new Date().getDate();
let month = new Date().getMonth() + 1;
let monthAll = new Date(year, month, 0).getDate();
let monthPassPercent = (date / monthAll) * 100;
$('#monthProgress .date-text span').html(date);
$('#monthProgress .progress .progress-bar').css('width', parseInt(monthPassPercent) + '%');
$('#monthProgress .progress .progress-bar').html(parseInt(monthPassPercent) + '%');
/* 年 */
let yearPass = (month / 12) * 100;
$('#yearProgress .date-text span').html(month);
$('#yearProgress .progress .progress-bar').css('width', parseInt(yearPass) + '%');
$('#yearProgress .progress .progress-bar').html(parseInt(yearPass) + '%');
}
getAsideLifeTime();
setInterval(() => {
getAsideLifeTime();
}, 1000);
}
init_life_time()

now = new Date(), hour = now.getHours()
if (hour < 6) {
var hello = "凌晨好";
} else if (hour < 9) {
var hello = "早上好";
} else if (hour < 12) {
var hello = "上午好";
} else if (hour < 14) {
var hello = "中午好";
} else if (hour < 17) {
var hello = "下午好";
} else if (hour < 19) {
var hello = "傍晚好";
} else if (hour < 22) {
var hello = "晚上好";
} else {
var hello = "夜深了";
}
58 changes: 58 additions & 0 deletions upgrade-your-browser/css/support.style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}
*, ::after, ::before {box-sizing: border-box;}

a{text-decoration:none;color:#0072c6;}a:hover{text-decoration:none;color:#004d8c;}
body{text-align:center;font-size:14px;line-height:24px;font-family:Microsoft YaHei, '宋体', sans-serif;color:#454545;overflow-y:scroll;_overflow-y:auto;*overflow-y:auto}
.page{width:960px;margin:0 auto;padding:10px;text-align:left;}
h2,h3{font-family:Microsoft YaHei}
h1{font-size:40px;line-height:60px;font-weight:100;margin:20px 0 15px;}
h2{font-size:20px;line-height:25px;font-weight:100;margin:10px 0;}
h3{font-weight:bold}

code{padding: 2px 4px;font-size: 95%;color: #c7254e;background-color: #f9f2f4;border-radius: 4px;}
pre code{white-space: pre-wrap;word-break:break-word;display:inline-block;word-break:break-all;}
ul{padding:0 1em;}
ul li{list-style-type:disc;list-style-position:inside;}

b,strong{font-weight:bold}
em{color:red}

p{margin-bottom:10px}
hr, .hr{margin:20px 0;border:0;width:100%;height:1px;overflow:hidden;background-color:#ccc}

.text-right{text-align:right}
.clearboth{clear:both;width:100%;content: "";}
.clearleft{clear:left;width:100%;content: "";}
.clearright{clear:right;width:100%;content: "";}

.browser-list{margin:16px 0 10px;padding:0;height:42px;_overflow:hidden}
.browser{display:block;width:155px;height:34px;line-height:22px;float:left;list-style:none;}
.browser.clearleft{height:1px}
.browser span{display:block;font-size:12px;line-height:1.2;}
.browser img{width:34px;height:34px;border:0;float:left;margin-right:10px;}
.browser.firefox{width:150px}
.browser.edge{width:150px}
.browser.safari{width:150px}
.browser.se360{width:160px}
.browser.qqbrowser{width:140px}
.small-alert{font-size:12px;margin:15px 0 8px;color:#90949c}
.small-alert:not(.hide)+hr{margin-top:0}
.hide{display:none}
.alert-danger{display:block;color:#777;background-color:#f1f1f1;padding:6px 12px;_padding:8px 12px 6px;clear:both;}
.alert-info{color:#000;background-color:#f1f6fc;margin-top:12px}
.alert-info img{vertical-align:text-top;}
#win-danger{margin-top:12px;position: relative;}
#win-danger .arrow{background:url(/images/arrow.png) no-repeat;border:0;position:absolute;display:block;width:20px;height:12px;left:325px;top:-12px}

.targetline, #referrer a{word-break:break-all;}
.top-alert {background:#f2f2f2;}
.top-alert-content {font-size:14px;}

@media only screen and (max-width: 959px) {
.page {max-width:100%;padding:20px;font-size:16px;line-height:26px;}
h1 {font-size:26px;line-height:1.8;font-weight:bold;margin-top:0}
.browser-list {height:auto}
.browser {margin:0 20px 20px 0}
code {word-break: break-word;}
}
58 changes: 58 additions & 0 deletions upgrade-your-browser/end-of-ie-support/css/support.style.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,58 @@
/* Eric Meyer's Reset CSS v2.0 - http://cssreset.com */
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,center,dl,dt,dd,ol,ul,li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{border:0;font-size:100%;font:inherit;vertical-align:baseline;margin:0;padding:0}article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section{display:block}body{line-height:1}ol,ul{list-style:none}blockquote,q{quotes:none}blockquote:before,blockquote:after,q:before,q:after{content:none}table{border-collapse:collapse;border-spacing:0}
*, ::after, ::before {box-sizing: border-box;}

a{text-decoration:none;color:#0072c6;}a:hover{text-decoration:none;color:#004d8c;}
body{text-align:center;font-size:14px;line-height:24px;font-family:Microsoft YaHei, '宋体', sans-serif;color:#454545;overflow-y:scroll;_overflow-y:auto;*overflow-y:auto}
.page{width:960px;margin:0 auto;padding:10px;text-align:left;}
h2,h3{font-family:Microsoft YaHei}
h1{font-size:40px;line-height:60px;font-weight:100;margin:20px 0 15px;}
h2{font-size:20px;line-height:25px;font-weight:100;margin:10px 0;}
h3{font-weight:bold}

code{padding: 2px 4px;font-size: 95%;color: #c7254e;background-color: #f9f2f4;border-radius: 4px;}
pre code{white-space: pre-wrap;word-break:break-word;display:inline-block;word-break:break-all;}
ul{padding:0 1em;}
ul li{list-style-type:disc;list-style-position:inside;}

b,strong{font-weight:bold}
em{color:red}

p{margin-bottom:10px}
hr, .hr{margin:20px 0;border:0;width:100%;height:1px;overflow:hidden;background-color:#ccc}

.text-right{text-align:right}
.clearboth{clear:both;width:100%;content: "";}
.clearleft{clear:left;width:100%;content: "";}
.clearright{clear:right;width:100%;content: "";}

.browser-list{margin:16px 0 10px;padding:0;height:42px;_overflow:hidden}
.browser{display:block;width:155px;height:34px;line-height:22px;float:left;list-style:none;}
.browser.clearleft{height:1px}
.browser span{display:block;font-size:12px;line-height:1.2;}
.browser img{width:34px;height:34px;border:0;float:left;margin-right:10px;}
.browser.firefox{width:150px}
.browser.edge{width:150px}
.browser.safari{width:150px}
.browser.se360{width:160px}
.browser.qqbrowser{width:140px}
.small-alert{font-size:12px;margin:15px 0 8px;color:#90949c}
.small-alert:not(.hide)+hr{margin-top:0}
.hide{display:none}
.alert-danger{display:block;color:#777;background-color:#f1f1f1;padding:6px 12px;_padding:8px 12px 6px;clear:both;}
.alert-info{color:#000;background-color:#f1f6fc;margin-top:12px}
.alert-info img{vertical-align:text-top;}
#win-danger{margin-top:12px;position: relative;}
#win-danger .arrow{background:url(/images/arrow.png) no-repeat;border:0;position:absolute;display:block;width:20px;height:12px;left:325px;top:-12px}

.targetline, #referrer a{word-break:break-all;}
.top-alert {background:#f2f2f2;}
.top-alert-content {font-size:14px;}

@media only screen and (max-width: 959px) {
.page {max-width:100%;padding:20px;font-size:16px;line-height:26px;}
h1 {font-size:26px;line-height:1.8;font-weight:bold;margin-top:0}
.browser-list {height:auto}
.browser {margin:0 20px 20px 0}
code {word-break: break-word;}
}
62 changes: 62 additions & 0 deletions upgrade-your-browser/end-of-ie-support/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
<!DOCTYPE html>
<html lang="zh-CN">

<head>
<meta charset="UTF-8" />
<meta name="renderer" content="webkit" />
<meta name="force-rendering" content="webkit" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta name="robots" content="noindex,nofollow,noarchive" />
<title>对旧版 Internet Explorer 的支持服务已终止</title>
<meta name="description"
content="从 2016 年 1 月 12 日开始,仅面向受支持操作系统的最新版 Internet Explorer 将收到技术支持和安全更新。Internet Explorer 11 是最新版的 Internet Explorer,将继续在 Windows 7、Windows 8.1 和 Windows 10 上收到安全更新、兼容性修复程序和技术支持。" />
<meta http-equiv="Cache-Control" content="no-siteapp" />
<meta http-equiv="Cache-Control" content="no-transform" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<base href="./" target="_blank" />
<script src="./js/er3eport.js"></script>
<link rel="icon" type="image/png" href="../favicon.ico" />
<link type="text/css" rel="stylesheet" href="./css/support.style.css" />
</head>

<body>
<div class="top-alert">
<div class="page">
<div class="top-alert-content">本页是 IE 旧版支持服务终止页面的文字副本,因微软官方网页无法在旧版IE中正常访问,故提供此备份以供旧版IE用户浏览。<a
href="https://www.microsoft.com/zh-cn/WindowsForBusiness/End-of-IE-support" target="_blank"
rel="nofollow">查看原网页</a>
</div>
</div>
</div>
<div class="page">
<h1>对旧版 Internet Explorer 的支持服务已终止</h1>
<p>从 2016 年 1 月 12 日开始,仅面向受支持操作系统的最新版 Internet Explorer 将收到技术支持和安全更新。Internet Explorer 11 是最新版的 Internet
Explorer,将继续在 Windows 7、Windows 8.1 和 Windows 10 上收到安全更新、兼容性修复程序和技术支持。</p>
<div class="hr"></div>
<h2>这意味着什么?</h2>
<p>这意味着您应该采取行动。2016 年 1 月 12 日之后,Microsoft 将不再为 Internet Explorer
早期版本提供安全更新或技术支持。安全更新用于修补可能被恶意软件利用的漏洞,从而为提高用户及其数据的安全性提供帮助。定期安全更新帮助保护计算机不受恶意攻击,因此升级和保持最新很重要。</p>
<div class="hr"></div>
<h2>我如何升级 Internet Explorer?</h2>
<p><strong>中小型企业:</strong>对于考虑浏览器升级的中小型企业,选择有很多。没有 Web 应用程序的中小型组织(员工在 500 人以下)可使用自动更新进行自动更新。对于依赖现有 Web
应用程序的中小型企业,可以寻找 Microsoft 认证合作伙伴以了解符合其业务需要的最佳方案。</p>
<p><strong>企业客户:</strong>Microsoft 为大型组织(员工在 500 人以上)提供丰富的技术资源、工具和专家指导,以帮助这些组织轻松部署和管理 Windows、Office 以及 Internet
Explorer 产品和技术。通过联系您的 Microsoft 销售代表、Microsoft Services 部门或 Microsoft 认证合作伙伴,详细了解迁移和部署计划。了解如何通过访问 TechNet
自行试用和部署最新版本的 Edge。</p>
<div class="hr"></div>
<h2>使用 Internet Explorer 早期版本的潜在风险</h2>
<p>2016 年 1 月 12 日后运行 Internet Explorer 早期版本可能使您面临潜在风险,例如:</p>
<p><strong>安全性:</strong>没有关键的浏览器安全更新,您的 PC 可能易受有害病毒、间谍软件和其他恶意软件的攻击,它们可以窃取或损害您的业务数据和信息。</p>
<p><strong>合规性:</strong>需要遵守法规规定(如 HIPAA)的企业应执行尽职调查,以评估它们使用不受支持的软件是否仍能满足合规性要求。</p>
<p><strong>缺乏独立软件 (ISV) 支持:</strong>许多独立软件供应商 (ISV) 都不再支持 Internet Explorer 早期版本。例如,Office 365 采用现代 Web
标准,而且与最新浏览器一起使用时运行最出色。</p>
<div class="hr"></div>
<p>Copyright © 2020 <script>document.write(' - ' + (new Date()).getFullYear())</script> <a href="https://imsyy.top/">無名</a> . All Rights Reserved</p>
</div>

<div style="display:none !important">
<script id="hello-world-js" src="./js/hello.world.js"></script>
</div>
</body>

</html>
60 changes: 60 additions & 0 deletions upgrade-your-browser/end-of-ie-support/js/er3eport.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// simple error report by baidu tongji

var _hmt = _hmt || [];

var er3eport = {};
er3eport.start = (new Date().getTime());
er3eport.codetime = function () {
return (new Date().getTime()) - er3eport.start;
};
er3eport.dodnt = function () {
window.dnt = 1; if (typeof window.dodnt === 'function') window.dodnt();
};
er3eport.jqdefined = function () {
_hmt.push(['_setCustomVar', 2, 'JSERROR', 'jQueryDefined' + ' # ' + er3eport.codetime(), 3]);
er3eport.dodnt();
};
er3eport.listener = function (msg) {

var logstr = false;
var errtype = 'JSERROR';
if (typeof msg === 'string') {
logstr = msg;

} else {
if (msg.error) logstr = msg.error.stack;
else if (msg.message) logstr = msg.message;

var src;
if (msg.srcElement && msg.srcElement.src) src = msg.srcElement.src;
else if (msg.target && msg.target.src) src = msg.target.src;

if (! logstr) {
if (src) {
logstr = 'FileError: ' + src;
errtype = 'FILEERROR';
} else if (msg.type) {
logstr = msg.type;
}
}
}

if (typeof logstr !== 'string') {
logstr = 'empty_error_string'
} else {
logstr = logstr.replace(/\n/g, '').replace(/\s+/g, ' ');
}

_hmt.push(['_trackEvent', errtype, window.location.pathname, logstr + ' #UA# ' + navigator.userAgent + ' # ' + er3eport.codetime()]);

return true;
}

if (typeof jQuery === 'function') er3eport.jqdefined();
if (Object.defineProperty) Object.defineProperty(window, 'jQuery', {set: er3eport.jqdefined});

if (window.addEventListener) {
window.addEventListener('error', er3eport.listener, true);
} else if (window.attachEvent) {
window.attachEvent('onerror', er3eport.listener);
}
83 changes: 83 additions & 0 deletions upgrade-your-browser/end-of-ie-support/js/hello.world.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
setTimeout(function() {

var realPathname = window.location.pathname;
// ie 兼容
if (realPathname.indexOf('/') !== 0) {
realPathname = '/' + realPathname;
}
var isUPPage = realPathname === '/upgrade-your-browser.html';
var isSpHost = window.location.hostname === 'support.dmeng.net';
window.dodnt = function() {
var now = new Date(); var time = now.getTime(); time += 600 * 1000; now.setTime(time);
document.cookie = 'dnt=1' + '; expires=' + now.toUTCString() + '; path=/';
}; var doTrack = typeof window.dnt === 'undefined';
if (doTrack === false && document.cookie.match(/dnt=1/) === null) window.dodnt();

window._hmt = window._hmt || [];
var _hmt_id = '6ddc2cf73e10ed480880c454b957e809';
if (isSpHost) {

if (doTrack) {

_hmt_id = '3546503052812606f053b8bb63ef0e99';

// 统计需要升级的IE版本
if (isUPPage) {

var iever = "none";

var _jsver = 0;
/*@cc_on
_jsver = @_jscript_version;
@*/
if (_jsver === 0) {
// IE11 或者不是 IE

if (!!window.MSInputMethodContext && !!document.documentMode) {
iever = 11;
}
} else {
var docmode = document.documentMode;
if (!! docmode && docmode > 5) {
iever = docmode;
} else if (_jsver === 5.7 && window.XMLHttpRequest) {
iever = 7;
} else if (_jsver === 5.6 || (_jsver === 5.7 && !window.XMLHttpRequest)) {
iever = 6;
} else {
iever = 5;
}
iever += "";
}

var winver = 'other';
var ua = navigator.userAgent;

if (ua.indexOf("Windows NT 5") !== -1) {
winver = 'winXP';
} else if (ua.indexOf("Windows NT 6.1") !== -1) {
winver = 'win7';
} else if (ua.indexOf("Windows NT 6.2") !== -1) {
winver = 'win8';
} else if (ua.indexOf("Windows NT 6.3") !== -1) {
winver = 'win8.1';
} else if (ua.indexOf("Windows NT 10") !== -1) {
winver = 'win10';
}

_hmt.push(['_setCustomVar', 1, 'ClientVer', winver + "_IE" + iever, 3]);
}

} else {
_hmt_id = 'b5afc37c04e670dc17f68727f92ea21c';
}
}

_hmt.unshift(['_setAccount', _hmt_id]);

var helloWorldJS = document.getElementById('hello-world-js');
var hm = document.createElement('script');
hm.src = '//hm.baidu.com/hm.js?' + _hmt_id;
helloWorldJS.parentNode.insertBefore(hm, helloWorldJS);

}, 1500);
Binary file added upgrade-your-browser/favicon.ico
Binary file not shown.
Binary file added upgrade-your-browser/images/chrome.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added upgrade-your-browser/images/edge.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added upgrade-your-browser/images/firefox.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added upgrade-your-browser/images/qqbrowser.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added upgrade-your-browser/images/safari.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file added upgrade-your-browser/images/se360.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
97 changes: 97 additions & 0 deletions upgrade-your-browser/index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,97 @@
<!DOCTYPE html>
<html lang="zh-CN">

<head>
<meta charset="UTF-8" />
<meta name="renderer" content="webkit" />
<meta name="force-rendering" content="webkit" />
<meta http-equiv="X-UA-Compatible" content="IE=Edge,chrome=1" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>请升级您的浏览器</title>
<meta name="description" content="这是一个旧版IE升级提示页" />
<script src="./js/er3eport.js"></script>
<link rel="icon" type="image/png" href="./favicon.ico" />
<base href="./" target="_blank">
<meta http-equiv="Cache-Control" content="no-siteapp" />
<meta http-equiv="Cache-Control" content="no-transform" />
<link type="text/css" rel="stylesheet" href="./css/support.style.css" />
<script>
var l = window.location, s = l.search.substr(1),
r = '', dr = document.referrer, r1 = s.match(/(^|&)referrer=((http|https)[^&]*)/), r2 = s.match(/^referrer=((http|https)\:\/\/.*)$/);
if (r2 !== null) r = r2[1]; else if (r1 !== null) r = r1[2];
if (r === '' && dr !== '' && dr.match(/\/(?:.*\.dmeng\.net|(?:(?:(?:www|m|wap|cn|search)\.)?(?:google|baidu|sogou|bing|so|yahoo|yandex|duckduckgo)\.com(?:\.[a-z]+)?))/) === null) {
l.href = l.protocol + '//' + l.hostname + l.pathname + '?referrer=' + encodeURIComponent(dr) + '&' + s;
}
var url = decodeURIComponent(r);
if (url.indexOf(window.location.hostname + '/') != -1) url = '';
var targetUrlHTML = '';
if (url !== '') {
var m = url.match(/^(https?\:\/\/[^/]+\/)index\.html$/);
targetUrlHTML = '&nbsp;<a href="' + url + '" onclick="alert(\'点击右键“复制快捷方式”(复制链接)到更先进的浏览器访问。\');return false;" rel="noreferrer">' + (m ? m[1] : url) + '</a>&nbsp;';
}
</script>
</head>

<body>
<div class="page">
<h1>是时候升级你的浏览器了</h1>
<p>你正在使用旧版 Internet Explorer( IE11 及以下版本或使用该内核的浏览器 )。这意味着在升级浏览器前,你将无法访问此网站。</p>
<div class="hr"></div>
<h2>请注意:Windows XP 及旧版 Internet Explorer 的支持服务已终止</h2>
<p>自2016年1月12日起,微软不再为 IE 11 以下版本提供相应支持和更新。没有关键的浏览器安全更新,您的电脑可能易受有害病毒、间谍软件和其他恶意软件的攻击,它们可以窃取或损害您的业务数据和信息。请参阅 <a
href="./end-of-ie-support/index.html">微软对旧版 Internet Explorer 的支持服务已终止的说明</a></p>
<div class="hr"></div>
<h2>更先进的浏览器</h2>
<p class="targetline">推荐使用以下浏览器的最新版本。如果你的电脑已有以下浏览器的最新版本则直接使用该浏览器或开启极速模式访问即可。</p>
<!-- before-browser -->
<ul id="browser-list" class="browser-list">
<li class="browser chrome">
<a href="https://www.google.cn/chrome/thank-you.html?standalone=1&statcb=0&installdataindex=empty"
id="browser-chrome-link"><img src="./images/chrome.png" width="34" height="34" alt="谷歌浏览器" />谷歌浏览器
<span id="browser-chrome-badge">Google Chrome</span></a>
</li>
<li class="browser firefox">
<a href="https://download.mozilla.org/?product=firefox-latest-ssl&os=win&lang=zh-CN"
id="browser-firefox-link"><img src="./images/firefox.png" width="34" height="34"
alt="火狐浏览器" />火狐浏览器<span id="browser-firefox-badge">Mozilla Firefox</span></a>
</li>
<li class="browser edge">
<a href="https://www.microsoft.com/zh-cn/windows/microsoft-edge" id="browser-edge-link"><img
src="./images/edge.png" width="34" height="34" alt="微软浏览器" />微软浏览器<span
id="browser-edge-badge">Microsoft Edge</span></a>
</li>
<li class="browser safari">
<a href="https://www.apple.com.cn/safari/" id="browser-safari-link"><img
src="./images/safari.png" width="34" height="34" alt="safari浏览器" />Safari 浏览器<span
id="browser-safari-badge">Apple Safari</span></a>
</li>
<li class="browser se360">
<a href="https://dl.360safe.com/netunion/20140425/360se%2b75526%2bn1abed0ce91.exe"
id="browser-se360-link"><img src="./images/se360.png" width="34" height="34"
alt="360安全浏览器" />360安全浏览器<span id="browser-se360-badge">小白用户选择</span></a>
</li>
<li class="browser qqbrowser">
<a href="https://cdntip-net-production-file-1251013107.file.myqcloud.com/myapp/rcps/d/85000/QQBrowser_subid@100002_urlid@100002.exe"
id="browser-qqbrowser-link"><img src="./images/qqbrowser.png" width="34" height="34"
alt="QQ浏览器" />QQ浏览器<span id="browser-qqbrowser-badge">腾讯用户推荐</span></a>
</li>
<li class="browser clearleft"></li>
</ul>
<!-- after-browser -->
<div class="hr"></div>
<h2>为什么会出现这个页面?</h2>
<p>如果你不知道升级浏览器是什么意思,请请教一些熟练电脑操作的朋友。如果你使用的不是 IE6 / 7 / 8 / 9 / 10,而是 Google Chrome、Safari、Microsoft Edge、火狐浏览器等,出现这个页面可能是因为你使用的不是该浏览器的最新版本,升级至最新即可。
</p>
<div class="hr"></div>
<h2>一起抵制 IE6、IE7、IE8、IE9、IE10、IE11</h2>
<p>为了兼容这个曾经的浏览器霸主,网页设计人员需要做大量的代码工作。对于普通用户而言,低版本 IE 更是一个岌岌可危的安全隐患,在 Windows 历史上几次大的木马病毒事件都是利用 IE 漏洞进行传播。所以,请和我们一起抵制 IE 的过期版本!
</p>
<div class="hr"></div>
<p>Copyright © 2020 <script>document.write(' - ' + (new Date()).getFullYear())</script> <a href="https://czmz.top/">小筑</a> . All Rights Reserved</p>
</div>
<div style="display:none !important">
<script id="hello-world-js" src="./js/hello.world.js"></script>
</div>
</body>

</html>
60 changes: 60 additions & 0 deletions upgrade-your-browser/js/er3eport.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
// simple error report by baidu tongji

var _hmt = _hmt || [];

var er3eport = {};
er3eport.start = (new Date().getTime());
er3eport.codetime = function () {
return (new Date().getTime()) - er3eport.start;
};
er3eport.dodnt = function () {
window.dnt = 1; if (typeof window.dodnt === 'function') window.dodnt();
};
er3eport.jqdefined = function () {
_hmt.push(['_setCustomVar', 2, 'JSERROR', 'jQueryDefined' + ' # ' + er3eport.codetime(), 3]);
er3eport.dodnt();
};
er3eport.listener = function (msg) {

var logstr = false;
var errtype = 'JSERROR';
if (typeof msg === 'string') {
logstr = msg;

} else {
if (msg.error) logstr = msg.error.stack;
else if (msg.message) logstr = msg.message;

var src;
if (msg.srcElement && msg.srcElement.src) src = msg.srcElement.src;
else if (msg.target && msg.target.src) src = msg.target.src;

if (! logstr) {
if (src) {
logstr = 'FileError: ' + src;
errtype = 'FILEERROR';
} else if (msg.type) {
logstr = msg.type;
}
}
}

if (typeof logstr !== 'string') {
logstr = 'empty_error_string'
} else {
logstr = logstr.replace(/\n/g, '').replace(/\s+/g, ' ');
}

_hmt.push(['_trackEvent', errtype, window.location.pathname, logstr + ' #UA# ' + navigator.userAgent + ' # ' + er3eport.codetime()]);

return true;
}

if (typeof jQuery === 'function') er3eport.jqdefined();
if (Object.defineProperty) Object.defineProperty(window, 'jQuery', {set: er3eport.jqdefined});

if (window.addEventListener) {
window.addEventListener('error', er3eport.listener, true);
} else if (window.attachEvent) {
window.attachEvent('onerror', er3eport.listener);
}
83 changes: 83 additions & 0 deletions upgrade-your-browser/js/hello.world.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,83 @@
setTimeout(function() {

var realPathname = window.location.pathname;
// ie 兼容
if (realPathname.indexOf('/') !== 0) {
realPathname = '/' + realPathname;
}
var isUPPage = realPathname === '/upgrade-your-browser.html';
var isSpHost = window.location.hostname === 'support.dmeng.net';
window.dodnt = function() {
var now = new Date(); var time = now.getTime(); time += 600 * 1000; now.setTime(time);
document.cookie = 'dnt=1' + '; expires=' + now.toUTCString() + '; path=/';
}; var doTrack = typeof window.dnt === 'undefined';
if (doTrack === false && document.cookie.match(/dnt=1/) === null) window.dodnt();

window._hmt = window._hmt || [];
var _hmt_id = '6ddc2cf73e10ed480880c454b957e809';
if (isSpHost) {

if (doTrack) {

_hmt_id = '3546503052812606f053b8bb63ef0e99';

// 统计需要升级的IE版本
if (isUPPage) {

var iever = "none";

var _jsver = 0;
/*@cc_on
_jsver = @_jscript_version;
@*/
if (_jsver === 0) {
// IE11 或者不是 IE

if (!!window.MSInputMethodContext && !!document.documentMode) {
iever = 11;
}
} else {
var docmode = document.documentMode;
if (!! docmode && docmode > 5) {
iever = docmode;
} else if (_jsver === 5.7 && window.XMLHttpRequest) {
iever = 7;
} else if (_jsver === 5.6 || (_jsver === 5.7 && !window.XMLHttpRequest)) {
iever = 6;
} else {
iever = 5;
}
iever += "";
}

var winver = 'other';
var ua = navigator.userAgent;

if (ua.indexOf("Windows NT 5") !== -1) {
winver = 'winXP';
} else if (ua.indexOf("Windows NT 6.1") !== -1) {
winver = 'win7';
} else if (ua.indexOf("Windows NT 6.2") !== -1) {
winver = 'win8';
} else if (ua.indexOf("Windows NT 6.3") !== -1) {
winver = 'win8.1';
} else if (ua.indexOf("Windows NT 10") !== -1) {
winver = 'win10';
}

_hmt.push(['_setCustomVar', 1, 'ClientVer', winver + "_IE" + iever, 3]);
}

} else {
_hmt_id = 'b5afc37c04e670dc17f68727f92ea21c';
}
}

_hmt.unshift(['_setAccount', _hmt_id]);

var helloWorldJS = document.getElementById('hello-world-js');
var hm = document.createElement('script');
hm.src = '//hm.baidu.com/hm.js?' + _hmt_id;
helloWorldJS.parentNode.insertBefore(hm, helloWorldJS);

}, 1500);

0 comments on commit bb190db

Please sign in to comment.