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