1(() => { 2 document.querySelectorAll('.comment-form-captcha[data-endpoint]').forEach((field) => { 3 const endpoint = field.dataset.endpoint; 4 const question = field.querySelector('.comment-captcha-question'); 5 const answer = field.querySelector('[name="cla_comment_captcha_answer"]'); 6 const token = field.querySelector('[name="cla_comment_captcha_token"]'); 7 8 const challengeUrl = new URL(endpoint, window.location.href); 9 challengeUrl.searchParams.set('t', Date.now().toString()); 10 11 fetch(challengeUrl.toString(), { 12 cache: 'no-store', 13 credentials: 'same-origin' 14 }) 15 .then((response) => { 16 if (!response.ok) throw new Error('challenge'); 17 return response.json(); 18 }) 19 .then((challenge) => { 20 question.textContent = challenge.question; 21 token.value = challenge.token; 22 answer.disabled = false; 23 }) 24 .catch(() => { 25 question.textContent = field.dataset.error; 26 }); 27 }); 28})();
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.