← 返回文章流

使用astro原生pjax实现无缝切换

这篇文章介绍了作者在 Astro 网站中使用原生 ClientRouter 实现类似 pjax 的无缝页面切换的过程,以及由此遇到的一系列问题。由于 Astro 脚本默认只在首次进入站点时运行一次,页面切换后评论、浏览量、摘要、代码块和侧边栏最新评论等依赖页面加载后执行的内容无法重新初始化,导致部分内容空白或丢失;评论组件运行时注入到 head 的样式也会因换页被替换而失效。作者通过为文章页脚本添加 data-astro-rerun、将全站组件绑定到 page-load 事件重新初始化、把运行时注入样式改为随页面打包,以及避免脚本重跑造成重复绑定全局监听,解决了这些问题。

作者:莫忘作者主页
在原博客阅读全文 (新标签页打开)

以上内容来自博客订阅源,版权归原作者。关注作者后可以在 关注列表 第一时间查看作者文章。

一起聊聊 0

尊重不同观点

还没有评论。欢迎分享第一个想法。

RSS SUBSCRIPTIONS

选择 RSS 订阅

把博客汇的文章添加到你常用的阅读器。

关注文章 RSS 订阅本订阅需要登录后使用