summaryrefslogtreecommitdiff
path: root/assets/js/pjax.js
diff options
context:
space:
mode:
authormayx <mayx@outlook.com>2026-05-22 16:07:03 +0000
committermayx <mayx@outlook.com>2026-05-22 16:07:03 +0000
commit1a529143a833b22fb2e2600498f6703c2edd9a84 (patch)
tree443787892ca86fde1f9ebca74344ccaf1584207a /assets/js/pjax.js
parentb25a864ee3ee6e8e8cb7875bfcd1e71c98bb5d67 (diff)
Update 6 files
- /assets/js/pjax.js - /assets/js/gitalk.min.js - /assets/js/jquery.min.js - /assets/css/gitalk.css - /_data/proxylist.yml - /_tools/stormkit-env_install
Diffstat (limited to 'assets/js/pjax.js')
-rw-r--r--assets/js/pjax.js21
1 files changed, 21 insertions, 0 deletions
diff --git a/assets/js/pjax.js b/assets/js/pjax.js
index 358c67b..9e832ad 100644
--- a/assets/js/pjax.js
+++ b/assets/js/pjax.js
@@ -184,7 +184,28 @@
$(document).on('pjax:error', function (xhr, textStatus, error) {
console.warn('[pjax] error, fallback:', error);
});
+ $(document).on('pjax:end', function (event, xhr, options) {
+ var $container = $(options.container || PJAX_OPTS.container);
+
+ $container.find('script[type="module"]').each(function () {
+ var oldScript = this;
+ var newScript = document.createElement('script');
+ newScript.type = 'module';
+
+ // 如果是外链脚本 (<script src="..."></script>)
+ if (oldScript.src) {
+ newScript.src = oldScript.src;
+ } else {
+ // 如果是行内脚本 (<script>...code...</script>)
+ newScript.textContent = oldScript.textContent;
+ }
+ // 插入到 body 中触发浏览器执行
+ document.body.appendChild(newScript);
+ // 运行完后建议移除,防止 DOM 变得混乱(不影响模块执行)
+ newScript.remove();
+ });
+ });
// 首次加载初始化
reinitCopyButtons();
});