1var Pluswerk = Pluswerk || {}; 2Pluswerk.UniErfurt = Pluswerk.UniErfurt || {}; 3Pluswerk.UniErfurt.Captcha = Pluswerk.UniErfurt.Captcha || {}; 4 5Pluswerk.UniErfurt.Captcha.CaptchaController = function () { 6 const button = document.querySelector('#js-change-image'); 7 const loadingClass = document.querySelector('.powermail_captchaimage-wrap'); 8 const changeImage = document.querySelector('.powermail_captchaimage') 9 10 this.mainInit = function () { 11 if (changeImage !== null) { 12 button.addEventListener('click', function (event) { 13 let url = this.getAttribute('data-url'); 14 let httpRequest = new XMLHttpRequest(); 15 16 event.preventDefault(); 17 18 // add loading gif 19 loadingClass.classList.add('loading'); 20 21 httpRequest.onreadystatechange = function () { 22 // on success replace captcha img with data 23 changeImage.setAttribute('src', '/' + httpRequest.responseText); 24 25 if(httpRequest.readyState == 4 && (httpRequest.status == 200)) { 26 // remove loader gif 27 loadingClass.classList.remove('loading'); 28 } 29 } 30 31 httpRequest.open("GET", url); 32 httpRequest.send(); 33 }); 34 } 35 }; 36};
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.