feat(analytics): 重构网站统计配置与加载逻辑
- 引入 SiteConfig.analytics 统一管理所有统计配置 - 动态加载不蒜子、百度、Google Analytics 和 51.LA 统计脚本 - 优化统计脚本异步加载方式,提升页面性能 - 移除硬编码统计 ID,改为从配置文件读取 - 更新百度统计集成方式,增强错误处理 - 调整 Google Analytics 加载逻辑,支持异步初始化 - 修复统计元素获取逻辑,使用配置化的 ID 选择器 - 清理冗余代码,统一统计脚本加载风格
This commit is contained in:
21
about.html
21
about.html
@@ -326,12 +326,19 @@
|
|||||||
<script src="https://cdn.jsdelivr.net/npm/artalk@latest/dist/i18n/en.js"></script>
|
<script src="https://cdn.jsdelivr.net/npm/artalk@latest/dist/i18n/en.js"></script>
|
||||||
<script src="js/about.js?version=20251125"></script>
|
<script src="js/about.js?version=20251125"></script>
|
||||||
|
|
||||||
<!-- verCount统计 -->
|
<!-- 不蒜子统计 -->
|
||||||
<script defer src="https://events.vercount.one/js"></script>
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
|
// 动态加载不蒜子统计脚本
|
||||||
|
const script = document.createElement('script');
|
||||||
|
script.src = SiteConfig.analytics.busuanzi.src;
|
||||||
|
script.async = true;
|
||||||
|
document.head.appendChild(script);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
<script>
|
<script>
|
||||||
try {
|
try {
|
||||||
!function(p){"use strict";!function(t){var s=window,e=document,i=p,c="".concat("https:"===e.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),n=e.createElement("script"),r=e.getElementsByTagName("script")[0];n.type="text/javascript",n.setAttribute("charset","UTF-8"),n.async=!0,n.src=c,n.id="LA_COLLECT",i.d=n;var o=function(){s.LA.ids.push(i)};s.LA?s.LA.ids&&o():(s.LA=p,s.LA.ids=[],o()),r.parentNode.insertBefore(n,r)}()}({id:"3OBGjwDdEIRS7XZ1",ck:"3OBGjwDdEIRS7XZ1"});
|
!function(p){"use strict";!function(t){var s=window,e=document,i=p,c="".concat("https:"===e.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),n=e.createElement("script"),r=e.getElementsByTagName("script")[0];n.type="text/javascript",n.setAttribute("charset","UTF-8"),n.async=!0,n.src=c,n.id="LA_COLLECT",i.d=n;var o=function(){s.LA.ids.push(i)};s.LA?s.LA.ids&&o():(s.LA=p,s.LA.ids=[],o()),r.parentNode.insertBefore(n,r)}()}({id: SiteConfig.analytics.tencent.id, ck: SiteConfig.analytics.tencent.ck});
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("51.la统计错误", e);
|
console.log("51.la统计错误", e);
|
||||||
}
|
}
|
||||||
@@ -343,7 +350,7 @@
|
|||||||
(function () {
|
(function () {
|
||||||
try {
|
try {
|
||||||
var hm = document.createElement("script");
|
var hm = document.createElement("script");
|
||||||
hm.src = "https://hm.baidu.com/hm.js?ae2a009a75b13c21d5121ee51375ea4e";
|
hm.src = SiteConfig.analytics.baidu.src;
|
||||||
var s = document.getElementsByTagName("script")[0];
|
var s = document.getElementsByTagName("script")[0];
|
||||||
s.parentNode.insertBefore(hm, s);
|
s.parentNode.insertBefore(hm, s);
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
@@ -384,8 +391,8 @@
|
|||||||
|
|
||||||
// 监听不蒜子数据更新并格式化
|
// 监听不蒜子数据更新并格式化
|
||||||
function initFormatter() {
|
function initFormatter() {
|
||||||
const pvEl = document.getElementById('busuanzi_value_site_pv');
|
const pvEl = document.getElementById(SiteConfig.analytics.busuanzi.site_pv_id);
|
||||||
const uvEl = document.getElementById('busuanzi_value_site_uv');
|
const uvEl = document.getElementById(SiteConfig.analytics.busuanzi.site_uv_id);
|
||||||
|
|
||||||
if (!pvEl && !uvEl) return;
|
if (!pvEl && !uvEl) return;
|
||||||
|
|
||||||
|
|||||||
134
index.html
134
index.html
@@ -18,7 +18,8 @@
|
|||||||
<meta property="og:type" content="website">
|
<meta property="og:type" content="website">
|
||||||
<meta property="og:url" content="https://www.hehouhui.cn/">
|
<meta property="og:url" content="https://www.hehouhui.cn/">
|
||||||
<meta property="og:title" content="Honesty的主页 - Java后端 & AI工程师">
|
<meta property="og:title" content="Honesty的主页 - Java后端 & AI工程师">
|
||||||
<meta property="og:description" content="我是Honesty,一名充满热情的Java后端开发工程师,专注于AI技术的探索与应用。来自湖南,现在上海工作,享受在这座充满活力的城市中追求技术梦想。">
|
<meta property="og:description"
|
||||||
|
content="我是Honesty,一名充满热情的Java后端开发工程师,专注于AI技术的探索与应用。来自湖南,现在上海工作,享受在这座充满活力的城市中追求技术梦想。">
|
||||||
<meta property="og:image" content="images/avatar.jpeg">
|
<meta property="og:image" content="images/avatar.jpeg">
|
||||||
<meta property="og:site_name" content="Honesty的主页">
|
<meta property="og:site_name" content="Honesty的主页">
|
||||||
|
|
||||||
@@ -26,14 +27,16 @@
|
|||||||
<meta property="twitter:card" content="summary_large_image">
|
<meta property="twitter:card" content="summary_large_image">
|
||||||
<meta property="twitter:url" content="https://www.hehouhui.cn/">
|
<meta property="twitter:url" content="https://www.hehouhui.cn/">
|
||||||
<meta property="twitter:title" content="Honesty的主页 - Java后端 & AI工程师">
|
<meta property="twitter:title" content="Honesty的主页 - Java后端 & AI工程师">
|
||||||
<meta property="twitter:description" content="我是Honesty,一名充满热情的Java后端开发工程师,专注于AI技术的探索与应用。来自湖南,现在上海工作,享受在这座充满活力的城市中追求技术梦想。">
|
<meta property="twitter:description"
|
||||||
|
content="我是Honesty,一名充满热情的Java后端开发工程师,专注于AI技术的探索与应用。来自湖南,现在上海工作,享受在这座充满活力的城市中追求技术梦想。">
|
||||||
<meta property="twitter:image" content="https://www.hehouhui.cn/images/avatar.jpeg">
|
<meta property="twitter:image" content="https://www.hehouhui.cn/images/avatar.jpeg">
|
||||||
<meta property="twitter:site" content="@Honesty861024">
|
<meta property="twitter:site" content="@Honesty861024">
|
||||||
|
|
||||||
<!-- 微信小程序/朋友圈分享 -->
|
<!-- 微信小程序/朋友圈分享 -->
|
||||||
<meta property="wechat:image" content="https://www.hehouhui.cn/images/avatar.jpeg">
|
<meta property="wechat:image" content="https://www.hehouhui.cn/images/avatar.jpeg">
|
||||||
<meta property="wechat:title" content="Honesty的主页 - Java后端 & AI工程师">
|
<meta property="wechat:title" content="Honesty的主页 - Java后端 & AI工程师">
|
||||||
<meta property="wechat:description" content="我是Honesty,一名充满热情的Java后端开发工程师,专注于AI技术的探索与应用。">
|
<meta property="wechat:description"
|
||||||
|
content="我是Honesty,一名充满热情的Java后端开发工程师,专注于AI技术的探索与应用。">
|
||||||
|
|
||||||
<title>Honesty的主页</title>
|
<title>Honesty的主页</title>
|
||||||
<link rel="stylesheet" type="text/css" href="./css/style.css?version=3">
|
<link rel="stylesheet" type="text/css" href="./css/style.css?version=3">
|
||||||
@@ -54,7 +57,6 @@
|
|||||||
media="all">
|
media="all">
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
<!--IE淘汰计划-->
|
<!--IE淘汰计划-->
|
||||||
<script>
|
<script>
|
||||||
if (/*@cc_on!@*/false || (!!window.MSInputMethodContext && !!document.documentMode)) window.location.href = "https://imsyy.top/upgrade-your-browser/index.html?referrer=" + encodeURIComponent(window.location.href);
|
if (/*@cc_on!@*/false || (!!window.MSInputMethodContext && !!document.documentMode)) window.location.href = "https://imsyy.top/upgrade-your-browser/index.html?referrer=" + encodeURIComponent(window.location.href);
|
||||||
@@ -156,13 +158,15 @@
|
|||||||
<stop offset="0%" style="stop-color:#667eea;stop-opacity:1"/>
|
<stop offset="0%" style="stop-color:#667eea;stop-opacity:1"/>
|
||||||
<stop offset="100%" style="stop-color:#764ba2;stop-opacity:1"/>
|
<stop offset="100%" style="stop-color:#764ba2;stop-opacity:1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient id="github-gradient-hover" x1="0%" y1="0%" x2="100%" y2="100%">
|
<linearGradient id="github-gradient-hover" x1="0%" y1="0%" x2="100%"
|
||||||
|
y2="100%">
|
||||||
<stop offset="0%" style="stop-color:#ff6b6b;stop-opacity:1"/>
|
<stop offset="0%" style="stop-color:#ff6b6b;stop-opacity:1"/>
|
||||||
<stop offset="50%" style="stop-color:#4ecdc4;stop-opacity:1"/>
|
<stop offset="50%" style="stop-color:#4ecdc4;stop-opacity:1"/>
|
||||||
<stop offset="100%" style="stop-color:#45b7d1;stop-opacity:1"/>
|
<stop offset="100%" style="stop-color:#45b7d1;stop-opacity:1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
<path fill="url(#github-gradient)" d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/>
|
<path fill="url(#github-gradient)"
|
||||||
|
d="M12 0c-6.626 0-12 5.373-12 12 0 5.302 3.438 9.8 8.207 11.387.599.111.793-.261.793-.577v-2.234c-3.338.726-4.033-1.416-4.033-1.416-.546-1.387-1.333-1.756-1.333-1.756-1.089-.745.083-.729.083-.729 1.205.084 1.839 1.237 1.839 1.237 1.07 1.834 2.807 1.304 3.492.997.107-.775.418-1.305.762-1.604-2.665-.305-5.467-1.334-5.467-5.931 0-1.311.469-2.381 1.236-3.221-.124-.303-.535-1.524.117-3.176 0 0 1.008-.322 3.301 1.23.957-.266 1.983-.399 3.003-.404 1.02.005 2.047.138 3.006.404 2.291-1.552 3.297-1.23 3.297-1.23.653 1.653.242 2.874.118 3.176.77.84 1.235 1.911 1.235 3.221 0 4.609-2.807 5.624-5.479 5.921.43.372.823 1.102.823 2.222v3.293c0 .319.192.694.801.576 4.765-1.589 8.199-6.086 8.199-11.386 0-6.627-5.373-12-12-12z"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span class="label">Github</span>
|
<span class="label">Github</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -176,13 +180,15 @@
|
|||||||
<stop offset="0%" style="stop-color:#667eea;stop-opacity:1"/>
|
<stop offset="0%" style="stop-color:#667eea;stop-opacity:1"/>
|
||||||
<stop offset="100%" style="stop-color:#764ba2;stop-opacity:1"/>
|
<stop offset="100%" style="stop-color:#764ba2;stop-opacity:1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient id="linkedin-gradient-hover" x1="0%" y1="0%" x2="100%" y2="100%">
|
<linearGradient id="linkedin-gradient-hover" x1="0%" y1="0%" x2="100%"
|
||||||
|
y2="100%">
|
||||||
<stop offset="0%" style="stop-color:#ff6b6b;stop-opacity:1"/>
|
<stop offset="0%" style="stop-color:#ff6b6b;stop-opacity:1"/>
|
||||||
<stop offset="50%" style="stop-color:#4ecdc4;stop-opacity:1"/>
|
<stop offset="50%" style="stop-color:#4ecdc4;stop-opacity:1"/>
|
||||||
<stop offset="100%" style="stop-color:#45b7d1;stop-opacity:1"/>
|
<stop offset="100%" style="stop-color:#45b7d1;stop-opacity:1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
<path fill="url(#linkedin-gradient)" d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>
|
<path fill="url(#linkedin-gradient)"
|
||||||
|
d="M20.447 20.452h-3.554v-5.569c0-1.328-.027-3.037-1.852-3.037-1.853 0-2.136 1.445-2.136 2.939v5.667H9.351V9h3.414v1.561h.046c.477-.9 1.637-1.85 3.37-1.85 3.601 0 4.267 2.37 4.267 5.455v6.286zM5.337 7.433c-1.144 0-2.063-.926-2.063-2.065 0-1.138.92-2.063 2.063-2.063 1.14 0 2.064.925 2.064 2.063 0 1.139-.925 2.065-2.064 2.065zm1.782 13.019H3.555V9h3.564v11.452zM22.225 0H1.771C.792 0 0 .774 0 1.729v20.542C0 23.227.792 24 1.771 24h20.451C23.2 24 24 23.227 24 22.271V1.729C24 .774 23.2 0 22.222 0h.003z"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span class="label">Linkedin</span>
|
<span class="label">Linkedin</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -195,13 +201,15 @@
|
|||||||
<stop offset="0%" style="stop-color:#667eea;stop-opacity:1"/>
|
<stop offset="0%" style="stop-color:#667eea;stop-opacity:1"/>
|
||||||
<stop offset="100%" style="stop-color:#764ba2;stop-opacity:1"/>
|
<stop offset="100%" style="stop-color:#764ba2;stop-opacity:1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient id="twitter-gradient-hover" x1="0%" y1="0%" x2="100%" y2="100%">
|
<linearGradient id="twitter-gradient-hover" x1="0%" y1="0%" x2="100%"
|
||||||
|
y2="100%">
|
||||||
<stop offset="0%" style="stop-color:#ff6b6b;stop-opacity:1"/>
|
<stop offset="0%" style="stop-color:#ff6b6b;stop-opacity:1"/>
|
||||||
<stop offset="50%" style="stop-color:#4ecdc4;stop-opacity:1"/>
|
<stop offset="50%" style="stop-color:#4ecdc4;stop-opacity:1"/>
|
||||||
<stop offset="100%" style="stop-color:#45b7d1;stop-opacity:1"/>
|
<stop offset="100%" style="stop-color:#45b7d1;stop-opacity:1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
<path fill="url(#twitter-gradient)" d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/>
|
<path fill="url(#twitter-gradient)"
|
||||||
|
d="M23.953 4.57a10 10 0 01-2.825.775 4.958 4.958 0 002.163-2.723c-.951.555-2.005.959-3.127 1.184a4.92 4.92 0 00-8.384 4.482C7.69 8.095 4.067 6.13 1.64 3.162a4.822 4.822 0 00-.666 2.475c0 1.71.87 3.213 2.188 4.096a4.904 4.904 0 01-2.228-.616v.06a4.923 4.923 0 003.946 4.827 4.996 4.996 0 01-2.212.085 4.936 4.936 0 004.604 3.417 9.867 9.867 0 01-6.102 2.105c-.39 0-.779-.023-1.17-.067a13.995 13.995 0 007.557 2.209c9.053 0 13.998-7.496 13.998-13.985 0-.21 0-.42-.015-.63A9.935 9.935 0 0024 4.59z"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span class="label">Twitter</span>
|
<span class="label">Twitter</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -214,13 +222,15 @@
|
|||||||
<stop offset="0%" style="stop-color:#667eea;stop-opacity:1"/>
|
<stop offset="0%" style="stop-color:#667eea;stop-opacity:1"/>
|
||||||
<stop offset="100%" style="stop-color:#764ba2;stop-opacity:1"/>
|
<stop offset="100%" style="stop-color:#764ba2;stop-opacity:1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient id="wechat-gradient-hover" x1="0%" y1="0%" x2="100%" y2="100%">
|
<linearGradient id="wechat-gradient-hover" x1="0%" y1="0%" x2="100%"
|
||||||
|
y2="100%">
|
||||||
<stop offset="0%" style="stop-color:#ff6b6b;stop-opacity:1"/>
|
<stop offset="0%" style="stop-color:#ff6b6b;stop-opacity:1"/>
|
||||||
<stop offset="50%" style="stop-color:#4ecdc4;stop-opacity:1"/>
|
<stop offset="50%" style="stop-color:#4ecdc4;stop-opacity:1"/>
|
||||||
<stop offset="100%" style="stop-color:#45b7d1;stop-opacity:1"/>
|
<stop offset="100%" style="stop-color:#45b7d1;stop-opacity:1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
<path fill="url(#wechat-gradient)" d="M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 01.213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 00.167-.054l1.903-1.114a.864.864 0 01.717-.098 10.16 10.16 0 002.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18 0 .659-.52 1.188-1.162 1.188-.642 0-1.162-.529-1.162-1.188 0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18 0 .659-.52 1.188-1.162 1.188-.642 0-1.162-.529-1.162-1.188 0-.651.52-1.18 1.162-1.18zm5.34 2.867c-1.797-.052-3.746.512-5.28 1.786-1.72 1.428-2.687 3.72-1.78 6.22.942 2.453 3.666 4.229 6.884 4.229.826 0 1.622-.12 2.361-.336a.722.722 0 01.598.082l1.584.926a.272.272 0 00.14.045c.134 0 .24-.111.24-.248 0-.06-.023-.12-.038-.177l-.327-1.233a.582.582 0 01.181-.556c1.52-1.186 2.506-2.952 2.506-4.992 0-3.563-3.359-6.446-7.069-6.446zm-2.496 3.778c.462 0 .837.382.837.853 0 .471-.375.854-.837.854-.462 0-.837-.383-.837-.854 0-.471.375-.853.837-.853zm4.992 0c.462 0 .837.382.837.853 0 .471-.375.854-.837.854-.462 0-.837-.383-.837-.854 0-.471.375-.853.837-.853z"/>
|
<path fill="url(#wechat-gradient)"
|
||||||
|
d="M8.691 2.188C3.891 2.188 0 5.476 0 9.53c0 2.212 1.17 4.203 3.002 5.55a.59.59 0 01.213.665l-.39 1.48c-.019.07-.048.141-.048.213 0 .163.13.295.29.295a.326.326 0 00.167-.054l1.903-1.114a.864.864 0 01.717-.098 10.16 10.16 0 002.837.403c.276 0 .543-.027.811-.05-.857-2.578.157-4.972 1.932-6.446 1.703-1.415 3.882-1.98 5.853-1.838-.576-3.583-4.196-6.348-8.596-6.348zM5.785 5.991c.642 0 1.162.529 1.162 1.18 0 .659-.52 1.188-1.162 1.188-.642 0-1.162-.529-1.162-1.188 0-.651.52-1.18 1.162-1.18zm5.813 0c.642 0 1.162.529 1.162 1.18 0 .659-.52 1.188-1.162 1.188-.642 0-1.162-.529-1.162-1.188 0-.651.52-1.18 1.162-1.18zm5.34 2.867c-1.797-.052-3.746.512-5.28 1.786-1.72 1.428-2.687 3.72-1.78 6.22.942 2.453 3.666 4.229 6.884 4.229.826 0 1.622-.12 2.361-.336a.722.722 0 01.598.082l1.584.926a.272.272 0 00.14.045c.134 0 .24-.111.24-.248 0-.06-.023-.12-.038-.177l-.327-1.233a.582.582 0 01.181-.556c1.52-1.186 2.506-2.952 2.506-4.992 0-3.563-3.359-6.446-7.069-6.446zm-2.496 3.778c.462 0 .837.382.837.853 0 .471-.375.854-.837.854-.462 0-.837-.383-.837-.854 0-.471.375-.853.837-.853zm4.992 0c.462 0 .837.382.837.853 0 .471-.375.854-.837.854-.462 0-.837-.383-.837-.854 0-.471.375-.853.837-.853z"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span class="label">微信</span>
|
<span class="label">微信</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -234,13 +244,15 @@
|
|||||||
<stop offset="0%" style="stop-color:#667eea;stop-opacity:1"/>
|
<stop offset="0%" style="stop-color:#667eea;stop-opacity:1"/>
|
||||||
<stop offset="100%" style="stop-color:#764ba2;stop-opacity:1"/>
|
<stop offset="100%" style="stop-color:#764ba2;stop-opacity:1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
<linearGradient id="email-gradient-hover" x1="0%" y1="0%" x2="100%" y2="100%">
|
<linearGradient id="email-gradient-hover" x1="0%" y1="0%" x2="100%"
|
||||||
|
y2="100%">
|
||||||
<stop offset="0%" style="stop-color:#ff6b6b;stop-opacity:1"/>
|
<stop offset="0%" style="stop-color:#ff6b6b;stop-opacity:1"/>
|
||||||
<stop offset="50%" style="stop-color:#4ecdc4;stop-opacity:1"/>
|
<stop offset="50%" style="stop-color:#4ecdc4;stop-opacity:1"/>
|
||||||
<stop offset="100%" style="stop-color:#45b7d1;stop-opacity:1"/>
|
<stop offset="100%" style="stop-color:#45b7d1;stop-opacity:1"/>
|
||||||
</linearGradient>
|
</linearGradient>
|
||||||
</defs>
|
</defs>
|
||||||
<path fill="url(#email-gradient)" d="M24 5.457v13.909c0 .904-.732 1.636-1.636 1.636h-20.728c-.904 0-1.636-.732-1.636-1.636v-13.909c0-.904.732-1.636 1.636-1.636h20.728c.904 0 1.636.732 1.636 1.636zm-1.636-1.636h-20.728l10.364 9.545 10.364-9.545zm0 2.909l-10.364 9.545-10.364-9.545v10.999h20.728v-10.999z"/>
|
<path fill="url(#email-gradient)"
|
||||||
|
d="M24 5.457v13.909c0 .904-.732 1.636-1.636 1.636h-20.728c-.904 0-1.636-.732-1.636-1.636v-13.909c0-.904.732-1.636 1.636-1.636h20.728c.904 0 1.636.732 1.636 1.636zm-1.636-1.636h-20.728l10.364 9.545 10.364-9.545zm0 2.909l-10.364 9.545-10.364-9.545v10.999h20.728v-10.999z"/>
|
||||||
</svg>
|
</svg>
|
||||||
<span class="label">Email</span>
|
<span class="label">Email</span>
|
||||||
</a>
|
</a>
|
||||||
@@ -255,7 +267,9 @@
|
|||||||
<div class="weixin-qrcode-container">
|
<div class="weixin-qrcode-container">
|
||||||
<div class="weixin-qrcode-title">扫描二维码</div>
|
<div class="weixin-qrcode-title">扫描二维码</div>
|
||||||
<div class="weixin-qrcode-desc">请使用微信扫一扫添加关注</div>
|
<div class="weixin-qrcode-desc">请使用微信扫一扫添加关注</div>
|
||||||
<img src="https://blog-file.hehouhui.cn/wechat/mp-honesy.jpg" alt="微信二维码" class="weixin-qrcode-image" onerror="this.src='https://cdn.jsdmirror.com/gh/listener-He/Home/images/logo.png'; this.alt='二维码加载失败'">
|
<img src="https://blog-file.hehouhui.cn/wechat/mp-honesy.jpg" alt="微信二维码"
|
||||||
|
class="weixin-qrcode-image"
|
||||||
|
onerror="this.src='https://cdn.jsdmirror.com/gh/listener-He/Home/images/logo.png'; this.alt='二维码加载失败'">
|
||||||
<button class="weixin-qrcode-close" onclick="closeWeixin()">关闭</button>
|
<button class="weixin-qrcode-close" onclick="closeWeixin()">关闭</button>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -329,55 +343,75 @@
|
|||||||
<!--<script type="text/javascript" src="https://cdn.jsdmirror.com/gh/listener-He/Home/js/moments.js"></script>-->
|
<!--<script type="text/javascript" src="https://cdn.jsdmirror.com/gh/listener-He/Home/js/moments.js"></script>-->
|
||||||
<script async src="https://analyse.hehouhui.cn/tracker.js" data-ackee-server="https://analyse.hehouhui.cn"
|
<script async src="https://analyse.hehouhui.cn/tracker.js" data-ackee-server="https://analyse.hehouhui.cn"
|
||||||
data-ackee-domain-id="7887135f-a413-46e2-a98c-52d4f18d9973"></script>
|
data-ackee-domain-id="7887135f-a413-46e2-a98c-52d4f18d9973"></script>
|
||||||
|
|
||||||
|
<!-- 不蒜子统计 -->
|
||||||
|
<script>
|
||||||
|
document.addEventListener('DOMContentLoaded', function () {
|
||||||
|
// 动态加载不蒜子统计脚本
|
||||||
|
const script = document.createElement('script');
|
||||||
|
script.src = SiteConfig.analytics.busuanzi.src;
|
||||||
|
script.async = true;
|
||||||
|
document.head.appendChild(script);
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<!-- 百度站点统计 -->
|
||||||
<script>
|
<script>
|
||||||
// 百度站点统计
|
|
||||||
var _hmt = _hmt || [];
|
|
||||||
(function () {
|
|
||||||
try {
|
try {
|
||||||
var hm = document.createElement("script");
|
const script = document.createElement("script");
|
||||||
hm.src = "https://hm.baidu.com/hm.js?ae2a009a75b13c21d5121ee51375ea4e";
|
script.src = SiteConfig.analytics.baidu.src;
|
||||||
var s = document.getElementsByTagName("script")[0];
|
script.defer = true;
|
||||||
s.parentNode.insertBefore(hm, s);
|
document.head.appendChild(script);
|
||||||
|
|
||||||
|
script.onload = function () {
|
||||||
|
if (typeof _hmt !== 'undefined') {
|
||||||
|
_hmt.push(['_setAccount', SiteConfig.analytics.baidu.id]);
|
||||||
|
}
|
||||||
|
};
|
||||||
} catch (e) {
|
} catch (e) {
|
||||||
console.log("百度统计错误", e);
|
console.log("百度统计错误", e);
|
||||||
}
|
}
|
||||||
|
|
||||||
})();
|
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- 先定义 gtag 函数作为安全兜底 -->
|
<!-- Google Analytics -->
|
||||||
<script type="text/javascript">
|
<script>
|
||||||
try {
|
// 定义 gtag 函数
|
||||||
window.dataLayer = window.dataLayer || [];
|
window.dataLayer = window.dataLayer || [];
|
||||||
|
|
||||||
function gtag() {
|
function gtag() {
|
||||||
dataLayer.push(arguments);
|
dataLayer.push(arguments);
|
||||||
}
|
}
|
||||||
|
|
||||||
gtag('js', new Date());
|
gtag('js', new Date());
|
||||||
} catch (e) {
|
|
||||||
console.log("Google Analytics Init 错误", e);
|
|
||||||
}
|
|
||||||
|
|
||||||
|
// 异步加载 Google Analytics
|
||||||
|
const gaScript = document.createElement('script');
|
||||||
|
gaScript.async = true;
|
||||||
|
gaScript.src = `${SiteConfig.analytics.google.src}?id=${SiteConfig.analytics.google.id}`;
|
||||||
|
document.head.appendChild(gaScript);
|
||||||
|
|
||||||
|
gaScript.onload = function () {
|
||||||
|
gtag('config', SiteConfig.analytics.google.id);
|
||||||
|
};
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!-- 再异步加载 Google 的 gtag.js -->
|
<!-- 51.LA统计 -->
|
||||||
<script async src="https://www.googletagmanager.com/gtag/js?id=G-DYWDEVKDP0"></script>
|
|
||||||
|
|
||||||
<!-- 可选:继续调用 config -->
|
|
||||||
<script type="text/javascript">
|
|
||||||
try {
|
|
||||||
gtag('config', 'G-DYWDEVKDP0');
|
|
||||||
} catch (e) {
|
|
||||||
console.error("Google Analytics config 失败", e);
|
|
||||||
}
|
|
||||||
</script>
|
|
||||||
|
|
||||||
<script>
|
<script>
|
||||||
!function(p){"use strict";!function(t){var s=window,e=document,i=p,c="".concat("https:"===e.location.protocol?"https://":"http://","sdk.51.la/js-sdk-pro.min.js"),n=e.createElement("script"),r=e.getElementsByTagName("script")[0];n.type="text/javascript",n.setAttribute("charset","UTF-8"),n.async=!0,n.src=c,n.id="LA_COLLECT",i.d=n;var o=function(){s.LA.ids.push(i)};s.LA?s.LA.ids&&o():(s.LA=p,s.LA.ids=[],o()),r.parentNode.insertBefore(n,r)}()}({id:"3OBGjwDdEIRS7XZ1",ck:"3OBGjwDdEIRS7XZ1"});
|
try {
|
||||||
|
!function (p) {
|
||||||
|
"use strict";
|
||||||
|
!function (t) {
|
||||||
|
var s = window, e = document, i = p,
|
||||||
|
c = "".concat("https:" === e.location.protocol ? "https://" : "http://", "sdk.51.la/js-sdk-pro.min.js"),
|
||||||
|
n = e.createElement("script"), r = e.getElementsByTagName("script")[0];
|
||||||
|
n.type = "text/javascript", n.setAttribute("charset", "UTF-8"), n.async = !0, n.src = c, n.id = "LA_COLLECT", i.d = n;
|
||||||
|
var o = function () {
|
||||||
|
s.LA.ids.push(i)
|
||||||
|
};
|
||||||
|
s.LA ? s.LA.ids && o() : (s.LA = p, s.LA.ids = [], o()), r.parentNode.insertBefore(n, r)
|
||||||
|
}()
|
||||||
|
}({id: SiteConfig.analytics.tencent.id, ck: SiteConfig.analytics.tencent.ck});
|
||||||
|
} catch (e) {
|
||||||
|
console.log("51.la统计错误", e);
|
||||||
|
}
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
<!--<script src="./js/StarrySky.js"></script>-->
|
|
||||||
<!--<script src="./js/stars.js"></script>-->
|
|
||||||
|
|
||||||
|
|
||||||
</body>
|
|
||||||
</html>
|
|
||||||
23
js/config.js
23
js/config.js
@@ -130,6 +130,29 @@ const SiteConfig = {
|
|||||||
sendBtn: '发送'
|
sendBtn: '发送'
|
||||||
},
|
},
|
||||||
|
|
||||||
|
// 站点统计配置
|
||||||
|
analytics: {
|
||||||
|
busuanzi: {
|
||||||
|
src: 'https://events.vercount.one/js',
|
||||||
|
site_pv_id: 'busuanzi_value_site_pv',
|
||||||
|
site_uv_id: 'busuanzi_value_site_uv',
|
||||||
|
formatter: true
|
||||||
|
},
|
||||||
|
baidu: {
|
||||||
|
src: 'https://hm.baidu.com/hm.js?ae2a009a75b13c21d5121ee51375ea4e',
|
||||||
|
id: 'ae2a009a75b13c21d5121ee51375ea4e'
|
||||||
|
},
|
||||||
|
google: {
|
||||||
|
src: 'https://www.googletagmanager.com/gtag/js',
|
||||||
|
id: 'G-DYWDEVKDP0'
|
||||||
|
},
|
||||||
|
tencent: {
|
||||||
|
src: 'https://sdk.51.la/js-sdk-pro.min.js',
|
||||||
|
id: '3OBGjwDdEIRS7XZ1',
|
||||||
|
ck: '3OBGjwDdEIRS7XZ1'
|
||||||
|
}
|
||||||
|
},
|
||||||
|
|
||||||
animationSettings: {
|
animationSettings: {
|
||||||
observerOptions: {
|
observerOptions: {
|
||||||
threshold: 0.1,
|
threshold: 0.1,
|
||||||
|
|||||||
Reference in New Issue
Block a user