From c4ae25dcb16513f76870d07c95ebc94ba6e7cf49 Mon Sep 17 00:00:00 2001 From: mayx Date: Thu, 21 May 2026 07:38:17 +0000 Subject: Update 10 files - /assets/js/jquery.pjax.min.js - /assets/js/main.js - /assets/js/pjax.js - /_layouts/default.html - /_layouts/post.html - /_data/proxylist.yml - /_data/other_repo_list.csv - /Live2dHistoire/live2d/js/message.js - /index.html - /search.html --- assets/js/pjax.js | 354 ++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 354 insertions(+) create mode 100644 assets/js/pjax.js (limited to 'assets/js/pjax.js') diff --git a/assets/js/pjax.js b/assets/js/pjax.js new file mode 100644 index 0000000..1f663f3 --- /dev/null +++ b/assets/js/pjax.js @@ -0,0 +1,354 @@ +/** + * PJAX 初始化与页面切换重绑定脚本 + * 依赖:jQuery, jquery.pjax.min.js + * 加载顺序:在 jquery.pjax.min.js 之后,body 末尾 + */ + +(function ($) { + // ========== 常量 ========== + var CONTAINER = '#pjax-container'; + var PJAX_OPTS = { + container: CONTAINER, + fragment: CONTAINER, + timeout: 8000, + scrollTo: false + }; + + // ========== 工具函数 ========== + + var _loadedScripts = {}; + var _pendingScripts = []; + + /** 动态加载外部 CSS(避免重复加载) */ + function loadCSS(href) { + if ($('link[href="' + href + '"]').length) return; + $('').appendTo('head'); + } + + /** + * 动态加载外部 JS(避免重复) + * 用对象跟踪已加载的 URL,而不是检查 DOM 中的