我正在尝试将 reCaptcha 代码从 jQuery 插入我的页面,但它不起作用。
这是我的代码:
$("#button").click(function() {
$("#loginBox").html($.getRecaptcha());
})
当我尝试以下操作时,我的代码甚至没有运行。我认为它试图执行而不是渲染它。
$.getRecaptcha = function(){
return '<script type="text/javascript"' +
'src="http://api.recaptcha.net/challenge?' +
'k=6Ld3iAsAAAAAAGyX8QT244GagPEpCDSD-96o4gEi"></script>';
}
使用以下内容,代码运行,但是当我单击 #button 时,我得到一个空白的全白色浏览器窗口。
$.getRecaptcha = function(){
var captcha = $("<script>")
.attr("type", "text/javascript")
.attr("src", "http://api.recaptcha.net/challenge?k=6Ld3iAsAAAAAAGyX8QT244GagPEpCDSD-96o4gEi");
return captcha;
}
我不想从一开始就将 reCaptcha 代码插入到我的 html 中,因为即使我的用户不想使用它,它也会从 reCaptcha 服务器下载 reCaptcha 内容。我可以将保存 reCaptcha 的容器的可见性设置为不可见(显示:无;),但无论内容如何,它都会下载内容。
我可以插入 reCaptcha 给我们的“noScript”代码,但它也不起作用,因为它可以发现浏览器允许 javascript 但我使用 noScript。
有什么建议么?
(我知道我将我的公共 reCaptcha 密钥放入代码中,但这只是为了测试目的,无论如何你都可以从我的 html 或 javascript 代码中获取它)
更新:
Krunal Mevada 回答了我的问题。但它不适用于 reCaptcha。reCaptcha 提供了一个reCaptcha AJAX API,它是我特定问题的答案。但是,使用 getScript() 我可以动态下载 reCaptcha AJAX API javascipt 文件。