页面刷新后 reCAPTCHA 不显示
reCAPTCHA not showing after page refresh
为什么 google reCaptcha2 (gReCaptcha) 在页面刷新后不显示,
但如果页面被 link?
观看此视频了解说明:http://take.ms/I2a9Z
第 url 页:https://orlov.io/signup
首次打开页面:验证码存在。
通过 link 导航:存在验证码。
打开新的浏览器选项卡:存在验证码。
通过刷新图标刷新页面,ctrl+R,ctrl+F5:验证码不存在。
我添加了正文卸载事件来防止浏览器缓存,但没有帮助。
用于测试的浏览器:
火狐浏览器 39.0
丁目:44.0.2403.125 m
歌剧:30.0
在所有浏览器中我得到相同的结果。那么这是否意味着我这边有错误?
我认为这与浏览器和网络速度有关。您正在使用回调调用 ReCaptcha,但您在定义回调之前调用了它。根据您的网络速度或浏览器的怪癖,它可能会在脚本的其余部分加载之前执行。
第 330 行:
<script src="//www.google.com/recaptcha/api.js?onload=renderReCaptchaCallback&render=explicit&hl=en-US" async defer></script>
第 351 行:
<script type="text/javascript">if (typeof (renderReCaptchaCallback) === "undefined") {
var reCaptchaWidgets = {};
var renderReCaptchaCallback = function() {
jQuery.each(reCaptchaWidgets, function(widgetId, widgetOptions) {
grecaptcha.render(document.getElementById(widgetId), widgetOptions);
});
};
}</script>
所以我会将 renderReCaptchaCallback
的定义移动到页面顶部,以便在尝试加载它之前定义得很好。
为什么 google reCaptcha2 (gReCaptcha) 在页面刷新后不显示,
但如果页面被 link?
观看此视频了解说明:http://take.ms/I2a9Z
第 url 页:https://orlov.io/signup
首次打开页面:验证码存在。
通过 link 导航:存在验证码。
打开新的浏览器选项卡:存在验证码。
通过刷新图标刷新页面,ctrl+R,ctrl+F5:验证码不存在。
我添加了正文卸载事件来防止浏览器缓存,但没有帮助。
用于测试的浏览器:
火狐浏览器 39.0
丁目:44.0.2403.125 m
歌剧:30.0
在所有浏览器中我得到相同的结果。那么这是否意味着我这边有错误?
我认为这与浏览器和网络速度有关。您正在使用回调调用 ReCaptcha,但您在定义回调之前调用了它。根据您的网络速度或浏览器的怪癖,它可能会在脚本的其余部分加载之前执行。
第 330 行:
<script src="//www.google.com/recaptcha/api.js?onload=renderReCaptchaCallback&render=explicit&hl=en-US" async defer></script>
第 351 行:
<script type="text/javascript">if (typeof (renderReCaptchaCallback) === "undefined") {
var reCaptchaWidgets = {};
var renderReCaptchaCallback = function() {
jQuery.each(reCaptchaWidgets, function(widgetId, widgetOptions) {
grecaptcha.render(document.getElementById(widgetId), widgetOptions);
});
};
}</script>
所以我会将 renderReCaptchaCallback
的定义移动到页面顶部,以便在尝试加载它之前定义得很好。