0

我正在尝试将 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 文件。

4

2 回答 2

0

jQuery的使用getScript方法。

这个答案可能有用:

堆栈答案

于 2010-04-27T12:52:54.150 回答
0

第一个代码部分:在第一行末尾插入一个空格:

return '<script type="text/javascript" ' +

于 2010-04-27T13:08:21.773 回答