fix: 修复 PJAX 跳转到友链页面后 JS 不执行的问题
- 为所有 script 标签添加 data-pjax 属性,确保 PJAX 跳转后脚本能重新执行 - 使用命名空间事件绑定 (pjax:start.flinks) 避免重复绑定 - 修复手机端通过 PJAX 访问友链页面时 CSS/JS 不生效的问题
This commit is contained in:
@@ -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');
|
||||||
document.body.classList.remove('flinks-page');
|
|
||||||
var s = document.getElementById('flinks-page-style');
|
// PJAX 离开时清理
|
||||||
if (s) s.remove();
|
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>
|
</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');
|
||||||
|
|||||||
Reference in New Issue
Block a user