1$(function () { 2 var recaptchaLoaded = $.Deferred(); 3 4 //Setup promises 5 $('.g-recaptcha').each(function () { 6 $(this).data('g-recaptcha-promise', $.Deferred()); 7 }); 8 9 window.recaptcha = window.recaptcha || {}; 10 11 window.renderRecaptcha = function () { 12 $('.g-recaptcha').each(function () { 13 var widgetId = $(this).data('g-recaptcha-widget-id'); 14 if (!widgetId) { 15 var recaptchaPromise = $(this).data('g-recaptcha-promise') || $.Deferred(); 16 $(this).data('g-recaptcha-promise', recaptchaPromise); 17 18 widgetId = grecaptcha.enterprise.render($(this)[0], { callback: recaptchaPromise.resolve }); 19 20 $(this).data('g-recaptcha-widget-id', widgetId); 21 } 22 }); 23 24 recaptchaLoaded.resolve(); 25 } 26 27 window.recaptcha.execute = function (recaptchaWidget) { 28 if (recaptchaWidget) { 29 recaptchaLoaded.then(function () { 30 grecaptcha.enterprise.execute(recaptchaWidget.data('g-recaptcha-widget-id')); 31 }); 32 } 33 } 34 35 window.recaptcha.reset = function (recaptchaWidget) { 36 if (recaptchaWidget && recaptchaLoaded.state() == "resolved") { 37 grecaptcha.enterprise.reset(recaptchaWidget.data('g-recaptcha-widget-id')); 38 recaptchaWidget.data('g-recaptcha-promise', $.Deferred()); 39 } 40 } 41 42 window.recaptcha.getResponse = function (recaptchaWidget) { 43 if (recaptchaWidget && recaptchaLoaded.state() == "resolved") { 44 return grecaptcha.enterprise.getResponse(recaptchaWidget.data('g-recaptcha-widget-id')); 45 } 46 } 47 48 $('
vendor: 115 bytes, line 48
48<script src="https://www.google.com/recaptcha/enterprise.js?onload=renderRecaptcha&render=explicit" async></script>
48').appendTo('head'); 49});
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.