试图将<script>(recaptcha)标签插入<div>并且它无法正常工作。我正在使用.html()</script>

时间:2013-04-11 15:10:48

标签: jquery recaptcha

我正在尝试将recaptcha代码插入到div中,但它不起作用。什么都没发生。这是代码:

var reCaptcha = '<'+'script type="text/javascript">var RecaptchaOptions = {theme : \'red\',tabindex : 0};<'+'/script>'+'<'+'script type="text/javascript" src="https://www.google.com/recaptcha/api/challenge?k=6LdjvN8SAAAAABUppmhvNOZlq94LauQIGdQ2S042"><'+'/'+'script>'+'<'+'noscript><iframe src="https://www.google.com/recaptcha/api/noscript?k=6LdjvN8SAAAAABUppmhvNOZlq94LauQIGdQ2S042" frameborder="1"></iframe><><textarea name="recaptcha_challenge_field" rows="3" cols="40"></textarea><input type="hidden" name="recaptcha_response_field" value="manual_challenge"><'+'/'+'noscript>';

$('#recaptcha').html(reCaptcha);

有什么想法吗?

1 个答案:

答案 0 :(得分:2)

您不能将脚本附加到执行document.write的html标记,并期望它的工作方式与将其直接包含在html中的方式相同。在DOM准备就绪后执行此操作可能会导致整个文档被document.write的结果替换。在您的情况下,您只需要使用AJAX API而不是非AJAX API。

Recaptcha.create("your_public_key",
  "element_id",
  {
    theme: "red",
    callback: Recaptcha.focus_response_field
  }
);

https://developers.google.com/recaptcha/docs/display#AJAX