From 3045b630f0ff6425d3cfd54ab98061f41ae5a3c5 Mon Sep 17 00:00:00 2001 From: Sora39831 <540587985@qq.com> Date: Fri, 3 Apr 2026 03:01:18 +0800 Subject: [PATCH] fix: use render=explicit and HTMLElement for Turnstile to fix Rocket Loader conflict - Add ?render=explicit to api.js URL to disable auto-initialization - Pass HTMLElement (not selector string) to turnstile.render() and turnstile.reset() - Prevents race condition where Turnstile auto-renders before body DOM is parsed --- web/html/login.html | 20 +++++++++++++------- 1 file changed, 13 insertions(+), 7 deletions(-) diff --git a/web/html/login.html b/web/html/login.html index 2c6e3b4c..12b56b1e 100644 --- a/web/html/login.html +++ b/web/html/login.html @@ -1,5 +1,5 @@ {{ template "page/head_start" .}} - + {{ template "page/head_end" .}} {{ template "page/body_start" .}} @@ -211,18 +211,24 @@ this.regUser = { username: "", password: "", confirmPassword: "" }; turnstileToken = ''; if (window.turnstile) { - turnstile.reset('#turnstile-widget'); + var container = document.getElementById('turnstile-widget'); + if (container) { + turnstile.reset(container); + } } } this.loadingStates.registerSpinning = false; }, renderTurnstile() { if (window.turnstile) { - turnstile.render('#turnstile-widget', { - sitekey: this.turnstileSiteKey, - callback: function(token) { turnstileToken = token; }, - size: this.turnstileSize, - }); + var container = document.getElementById('turnstile-widget'); + if (container) { + turnstile.render(container, { + sitekey: this.turnstileSiteKey, + callback: function(token) { turnstileToken = token; }, + size: this.turnstileSize, + }); + } } }, async getTurnstileSiteKey() {