Recaptcha 不呈现
Recaptcha not rendering
这应该很简单,但我想我一定漏掉了什么..
我把它放在 html 正文中,在表格之前:
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
然后在一个表单中我有这个 recaptcha div:
...
<form action="" method="post">
<div class="g-recaptcha" data-sitekey="[MY_API_KEY]"></div>
...
当页面加载时,没有 recaptcha,firebug 的控制台也没有输出任何内容。有什么问题吗?
编辑:现在它有时确实有效,但我必须刷新页面,但它是否有效完全是随机的。这真是奇怪的行为。
我在我的网站上遇到了与 chart.js 类似的问题。
如果我也是这种情况(当重新加载页面有效时),我认为 js 文件在您 html 呈现之前不会下载。
检查 safari 或 chrome 资源下载时间。
如果您的屏幕准备就绪并且 recapcha.js 等待下载,您应该添加设置超时等以等待您的 javascript 代码。
我试过这样..
setTimeout(function(){
Chart.defaults.global.tooltipFontSize= 10;
Chart.defaults.global.scaleShowLabels=false;
}, 10)
尝试从您的脚本标记中删除 async
和 defer
属性,并将其放置在表单上方的某个位置。
<script src='https://www.google.com/recaptcha/api.js'></script>
这将确保您的脚本在解析表单之前 运行。
api.js
只有 ~532 字节(缩小),不会给您的页面加载增加太多开销。
此外,我不确定这个问题是否与 django
有关。我建议您从问题中删除该标签 :)
希望这对您有所帮助,祝您好运。
reCAPTCHA 页面本身说要将 script
标签放在 head
标签内,因此它应该在其他所有内容之前加载。另外,检查你是否有两个 script
标签...wink
这应该很简单,但我想我一定漏掉了什么..
我把它放在 html 正文中,在表格之前:
<script src="https://www.google.com/recaptcha/api.js" async defer></script>
然后在一个表单中我有这个 recaptcha div:
...
<form action="" method="post">
<div class="g-recaptcha" data-sitekey="[MY_API_KEY]"></div>
...
当页面加载时,没有 recaptcha,firebug 的控制台也没有输出任何内容。有什么问题吗?
编辑:现在它有时确实有效,但我必须刷新页面,但它是否有效完全是随机的。这真是奇怪的行为。
我在我的网站上遇到了与 chart.js 类似的问题。
如果我也是这种情况(当重新加载页面有效时),我认为 js 文件在您 html 呈现之前不会下载。
检查 safari 或 chrome 资源下载时间。 如果您的屏幕准备就绪并且 recapcha.js 等待下载,您应该添加设置超时等以等待您的 javascript 代码。
我试过这样..
setTimeout(function(){
Chart.defaults.global.tooltipFontSize= 10;
Chart.defaults.global.scaleShowLabels=false;
}, 10)
尝试从您的脚本标记中删除 async
和 defer
属性,并将其放置在表单上方的某个位置。
<script src='https://www.google.com/recaptcha/api.js'></script>
这将确保您的脚本在解析表单之前 运行。
api.js
只有 ~532 字节(缩小),不会给您的页面加载增加太多开销。
此外,我不确定这个问题是否与 django
有关。我建议您从问题中删除该标签 :)
希望这对您有所帮助,祝您好运。
reCAPTCHA 页面本身说要将 script
标签放在 head
标签内,因此它应该在其他所有内容之前加载。另外,检查你是否有两个 script
标签...wink