关于 pjax 加载页面导致 js 插件失效

发布于 2022-10-02  1482 次阅读


PJAX,即 PushState + Ajax,封装成一个 jQuery 扩展以方便使用。PJAX 主要用来解决 HTML 页面局部刷新 url 不更新和不支持后退和前进的问题,提升用户体验。

通俗来讲,没有 PJAX 时,点击页面上的按钮,网页将清除当前显示页,载入指向页的全部内容,加之网络延迟等原因,会出现短暂的整幅网页为空白页。开启 PJAX 时,点击页面上的按钮,指向页和当前页相同的元素,如导航栏、音乐播放器等不需要重新加载,而不同的局部页面内容将刷新并加载。但当页面添加了一些第三方插件时,局部刷新无法加载插件,就会导致插件失效。例如 WordPress 插件:Wise Chat,某些 Elementor 编辑的页面等等。

如若没有更好的解决方案,最简单的方法是建议先关闭 PJAX(建议初学者,比如我😂),问题即可解决。当然,在不关闭PJAX的前提下,对此也有多种解决方案,在此不做赘述,可自行搜索“ pjax 加载页面导致 js 插件失效”从而获取解决方案。

最后更新于 2023-08-13