From b9d865e50204ad1489221d361e64d5036f85b311 Mon Sep 17 00:00:00 2001 From: Fabien NICOLLET Date: Sun, 18 Sep 2022 22:54:07 +0200 Subject: [PATCH] Fix URL replacement in HTML content Fixes #4 --- src/jquery-captcha.js | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/src/jquery-captcha.js b/src/jquery-captcha.js index 2080eef..d2c0beb 100644 --- a/src/jquery-captcha.js +++ b/src/jquery-captcha.js @@ -148,13 +148,13 @@ var relativeUrl, relativeUrlPrefixPattern, absoluteUrl, changedCaptchaHtml = originCaptchaHtml; - - for (var i = 0; i < relativeUrls.length; i++) { - relativeUrl = relativeUrls[i].slice(0, -1).replace(/src=\"|href=\"/, ''); - relativeUrlPrefixPattern = new RegExp(".*" + captchaEndpointHandler); - absoluteUrl = relativeUrl.replace(relativeUrlPrefixPattern, backendUrl + captchaEndpointHandler); - changedCaptchaHtml = changedCaptchaHtml.replace(relativeUrl, absoluteUrl); - } + var captchaEndpointHandlerWithSeparator = backendUrl + captchaEndpointHandler + (captchaEndpointHandler.indexOf('?') == -1 ? '?' : '&') + for (var i = 0; i < relativeUrls.length; i++) { + relativeUrl = relativeUrls[i].slice(0, -1).replace(/src=\"|href=\"/, ''); + relativeUrlPrefixPattern = "/api/simple-captcha-endpoint?"; + absoluteUrl = relativeUrl.replace(relativeUrlPrefixPattern, captchaEndpointHandlerWithSeparator); + changedCaptchaHtml = changedCaptchaHtml.replace(relativeUrl, absoluteUrl); + } return changedCaptchaHtml; };