我已经尝试了很多方法在分页时重新加载图像,但无论我尝试什么,我得到相同的图像。一些方法很接近(我可以看到图像刷新,但recaptcha服务器响应回来,前一个图像重新出现)。单击后退按钮时是否有一些技巧可以重新加载图像?如果用户输入的安全字不正确,我不希望我的用户必须重新输入所有表单信息。我也想避免存储所有信息。该页面是经典的asp,因此jquery或ajax方法将成为路径,或者id假设。提前谢谢。
答案 0 :(得分:2)
我找到了解决此问题的快速黑客攻击。在带有recaptcha的页面上添加以下jquery
<script>
$(document).ready(function(){
$("#form_div").Show();
);
</script>
只需将“#form_div”替换为您表单中的div。现在,当用户点击后退按钮时,它会刷新recaptcha图像。从各方面来讲,这都是一个黑客,但它对我有用。
答案 1 :(得分:1)
从window.onload
:
window.onload = function(){ /* refresh here */ }
答案 2 :(得分:1)
编辑:删除历史API答案以显示可能的AJAX答案。
使用jQuery非常容易。
$(window).on('load',function(){
$('#RecaptchaContainer').load('/path/to/recaptcha.php',function(){
// any javascript you need to perform on the recaptcha
});
});
您可以在该文件中包含所有recaptcha HTML,但您可以包含该回调函数中的所有javascript。
答案 3 :(得分:1)
这是适用于Chrome的简单方法:
在HTML主体上添加重新加载功能,如下所示:
<body onload="javascript:Recaptcha.reload()">
当用户点击后退按钮时,reCaptcha
图片会自动在Chrome中重新加载。
答案 4 :(得分:1)
我设法通过使用以下代码行来正确刷新它:
body onLoad="javascript:Recaptcha.reload()"
但是这种方法不是一个好的解决方案,因为焦点设置在recaptacha文本字段上,这意味着窗口向下滚动到页面底部,这是recaptacha字段的位置,即使您进入第一个页面时间(不仅当按“BACK”到页面时)。 这个解决方案有效,但最好找到一个没有把重点放在recaptacha输入字段上的解决方案。