我在网站上安装了Google reCaptcha v2(复选框类型),但即使使用“defer”属性(基于PageSpeed测试),它仍会显著减缓移动设备的页面加载速度。因此,我希望完全推迟它的加载,直到页面完全加载完成。
以下是表单代码(其中安装了reCaptcha):
<form id="sib-form" method="POST" action="https://.........." data-type="subscription">
<input class="input" type="text" id="FIRSTNAME" name="FIRSTNAME" data-required="true">
<input class="input" type="text" id="LASTNAME" name="LASTNAME" data-required="true">
<script>function handleCaptchaResponse() {
var event = new Event('captchaChange'); document.getElementById('sib-captcha').dispatchEvent(event);
} </script>
<div class="g-recaptcha sib-visible-recaptcha" id="sib-captcha" data-sitekey="xxxxxxxxxxxxx"
data-callback="handleCaptchaResponse"></div>
<button form="sib-form" type="submit">Subscribe</button>
<input type="text" name="email_address_check" value="" class="input--hidden">
<input type="hidden" name="locale" value="en">
</form>
这个 reCaptcha 的 js 文件被添加到头部区域:
<script defer src="https://www.google.com/recaptcha/api.js?hl=en"></script>
尽管在此js文件上使用了“defer”属性,但仍会加载其他相关文件,它们是导致页面速度变慢的原因。
如何完全推迟加载reCaptcha直到其他所有内容都加载完成?