ppoffice / hexo-theme-icarus

A simple, delicate, and modern theme for the static site generator Hexo.
https://ppoffice.github.io/hexo-theme-icarus/
MIT License
6.39k stars 1.55k forks source link

Utterances comment can't display normally by clicking but display normally when refreshing the page or accessing to the page directly with url #1307

Open guoapeng opened 4 months ago

guoapeng commented 4 months ago

确保你在提交Bug反馈之前仔细阅读了Hexo文档Icarus用户指南,和GitHub issues来了解你的问题是否已经被他人提出过。

Bug描述 简洁清晰地描述你遇到的Bug是什么。

系统与环境 列出你的Hexo和Icarus的版本和配置。

hexo v
INFO  Validating config
Inferno is in development mode.
INFO  =======================================
 ██╗ ██████╗ █████╗ ██████╗ ██╗   ██╗███████╗
 ██║██╔════╝██╔══██╗██╔══██╗██║   ██║██╔════╝
 ██║██║     ███████║██████╔╝██║   ██║███████╗
 ██║██║     ██╔══██║██╔══██╗██║   ██║╚════██║
 ██║╚██████╗██║  ██║██║  ██║╚██████╔╝███████║
 ╚═╝ ╚═════╝╚═╝  ╚═╝╚═╝  ╚═╝ ╚═════╝ ╚══════╝
=============================================
INFO  === Checking package dependencies ===
INFO  === Checking theme configurations ===
INFO  === Registering Hexo extensions ===
hexo: 7.3.0
hexo-cli: 4.3.2
os: linux 6.8.8-300.fc40.x86_64 Fedora Linux 40 (Workstation Edition)
node: 20.12.2
acorn: 8.11.3
ada: 2.7.6
ares: 1.27.0
base64: 0.5.2
brotli: 1.1.0
cjs_module_lexer: 1.2.2
cldr: 44.1
icu: 74.2
llhttp: 8.1.2
modules: 115
napi: 9
nghttp2: 1.60.0
nghttp3: 0.7.0
ngtcp2: 0.8.1
openssl: 3.0.13+quic
simdutf: 4.0.8
tz: 2024a
undici: 5.28.4
unicode: 15.1
uv: 1.46.0
uvwasi: 0.0.20
v8: 11.3.244.8-node.19
zlib: 1.3.0.1-motley-40e35a7

复现方式 列出复现这个Bug的步骤,如:

  1. 访问https://pengtech.net click on 友链,或者任何post, 例如this page, 没有评论界面。

而且打开 开发者工具>console中还有如下错误

Uncaught DOMException: Failed to execute 'insertAdjacentHTML' on 'Element': The element has no parent.
    at https://utteranc.es/client.js:1:1821
    at https://utteranc.es/client.js:1:2220
  1. 刷新或者按F5, 评论正常显示。

期望行为

无论用户通过点击,还是刷新页面,评论应该都能正常显示。 截图 通过点击访问页面,没有评论框。 image

控制台有错误提示: image

页面渲染的html代码,没有评论框。 image

通过刷新页面(F5)或者直接通过url访问, 评论显示正常,html代码渲染正常。 image

额外上下文

  1. 刚刚从next主题迁移到icarus主题,在next 主题中使用Utterance评论是正常的。 之前使用next主题Utterance comment没有类似的问题, 切换到icarus就有这个问题。

  2. 似乎shareThis widget也有同样的问题,点击到页面不显示,直接访问,或刷新页面就能正常显示。

ppoffice commented 3 months ago

Fixed in 859dc3c286f88b1c733663f0dc78efc542e9b1ca.

guoapeng commented 3 months ago

Fixed in 859dc3c.

thanks for the quick fix! after verifying, it has been fixed!

Boring1998 commented 3 months ago

你有没有发现你的域名地址不对, image

怎么会多出一个?t加数字,删除这多余的部分之后评论显示正常了 image 我的博客现在也是这个情况,不知道怎么解决而且,点击主页图标也会在域名后面多一串数字, image

guoapeng commented 3 months ago

@Boring1998 这个不是问题,这个是时间搓是为了避免页面使用缓存。当你去掉这一窜数字回车,就是去服务器端重新请求一次。 如何验证这不是问题呢? 即使你带上这串时间搓,或者把时间搓改一数字,在地址栏回车即刷新页面,评论也会出现评论。 这是由于react 服务端渲染和客户端渲染逻辑差异问题。

ppoffice 大佬说了,这个问题已经在 859dc3c中fix了,我也参考fix应用了变更,问题确实解决了。

建议确认变更是否release了,如果release了升级icarus theme的版本。 如果没有relase,可以参考commit手动修改本地代码。

Boring1998 commented 3 months ago

@Boring1998 这个不是问题,这个是时间搓是为了避免页面使用缓存。当你去掉这一窜数字回车,就是去服务器端重新请求一次。 如何验证这不是问题呢? 即使你带上这串时间搓,或者把时间搓改一数字,在地址栏回车即刷新页面,评论也会出现评论。 这是由于react 服务端渲染和客户端渲染逻辑差异问题。

ppoffice 大佬说了,这个问题已经在 859dc3c中fix了,我也参考fix应用了变更,问题确实解决了。

建议确认变更是否release了,如果release了升级icarus theme的版本。 如果没有relase,可以参考commit手动修改本地代码。

谢谢,手动更新代码后评论正常了,问一下_config.icarus.yml配置文件version: 5.1.0 这个版本号是什么意思,我看了下,主题文件里面版本号是6.1

guoapeng commented 3 months ago

@Boring1998 应该是configure file schema的版本。

Boring1998 commented 3 months ago

现在有了新问题,源码部署在git,我是hexo自动部署,无法在云端更新主题文件,看来只有等待主题版本发布后更新解决,还是源码部署在本地的好,

guoapeng commented 3 months ago

把icarus主题的源码以及你修改的部分作为您的博客源码一起上传到github或gitlab上,然后再部署。

linusxiong commented 6 days ago

这个好像是PJAX带来的新问题,我开了PJAX会导致文章页面宽度变窄,重新刷新才能恢复正常