diff --git a/deploy.sh b/deploy.sh index decd85a..47f3cab 100755 --- a/deploy.sh +++ b/deploy.sh @@ -14,7 +14,7 @@ set -euo pipefail # ========== 配置区(按需修改) ========== PI_HOST="192.168.1.87" # 树莓派 IP PI_USER="pi" -PI_SITE_PATH="/home/pi/www/Astro_vermilion/" # 与 Firefly 分开放,方便对比 +PI_SITE_PATH="/home/pi/www/Astro_firefly/" # 沿用现有 nginx 站点目录(会覆盖原 Firefly) CLOUD_HOST="81.70.45.191" # 云服务器 IP CLOUD_USER="root" diff --git a/src/components/Comments.astro b/src/components/Comments.astro index 7082ab9..72cd550 100644 --- a/src/components/Comments.astro +++ b/src/components/Comments.astro @@ -30,8 +30,17 @@ const isEnabled = Boolean(envId) ;(() => { const SCRIPT_SRC = "/assets/js/twikoo.min.js" + /** + * 注意:容器是
,而浏览器会把带 id 的元素暴露成 + * window 上的同名全局变量 —— 所以脚本加载前 window.twikoo 就已经 + * 是那个 DOM 元素了。这里必须检查真正的 API 是否存在, + * 不能只判断 `if (window.twikoo)`,否则会误以为已加载而跳过。 + */ + const isLoaded = () => + typeof window.twikoo === "object" && typeof window.twikoo?.init === "function" + const loadScript = () => { - if (window.twikoo) return Promise.resolve() + if (isLoaded()) return Promise.resolve() const existing = document.querySelector("script[data-twikoo]") if (existing) {