fix: 修复 PJAX 跳转到友链页面后 JS 不执行的问题

- 为所有 script 标签添加 data-pjax 属性,确保 PJAX 跳转后脚本能重新执行
- 使用命名空间事件绑定 (pjax:start.flinks) 避免重复绑定
- 修复手机端通过 PJAX 访问友链页面时 CSS/JS 不生效的问题
This commit is contained in:
2026-01-15 16:50:06 +08:00
parent 67c6ef332c
commit 266fb1019d

View File

@@ -418,15 +418,21 @@ html.darkmode .flink-modal { background: var(--color-background); }
.flink-avatar[data-color="6"] { background: linear-gradient(135deg, #a8edea 0%, #fed6e3 100%); }
</style>
<script>
document.body.classList.add('flinks-page');
if (typeof jQuery !== 'undefined') {
jQuery(document).on('pjax:start', function() {
<script data-pjax>
(function() {
// 添加页面标识 class
document.body.classList.add('flinks-page');
// PJAX 离开时清理
if (typeof jQuery !== 'undefined') {
jQuery(document).off('pjax:start.flinks').on('pjax:start.flinks', function() {
document.body.classList.remove('flinks-page');
var s = document.getElementById('flinks-page-style');
if (s) s.remove();
jQuery(document).off('pjax:start.flinks');
});
}
}
})();
</script>
<main id="main" class="site-main" role="main">
@@ -731,7 +737,7 @@ $flink_welcome = get_option('argon_friend_link_welcome', __('欢迎与我交换
</div>
<?php endif; ?>
<script>
<script data-pjax>
function toggleApplyForm() {
var c = document.querySelector('.flinks-apply-content');
var a = document.querySelector('.flinks-apply-arrow');