这应该是完全简单的,但我想我必须遗漏一些东西..
我把它放在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>
...
当页面加载时,没有重新记录,而且firebug的控制台也没有输出任何内容。可能有什么不对?
编辑:现在它实际上有效,但我必须刷新页面,但如果它工作与否,它是完全随机的。这真是一种奇怪的行为。答案 0 :(得分:0)
我在网站上遇到了与chart.js类似的问题。
如果,与我的情况相同(当重装页面工作时),我认为直到您的html渲染才会下载js文件。
检查safari或chrome资源下载时间。 如果您的屏幕已准备就绪并且recapcha.js一直下载,您应该添加设置超时或等等以等待您的javascript代码。
我试过这样的..
setTimeout(function(){
Chart.defaults.global.tooltipFontSize= 10;
Chart.defaults.global.scaleShowLabels=false;
}, 10)
答案 1 :(得分:0)
尝试从脚本代码中删除async
和defer
属性,并将其放在表单上方的某个位置。
<script src='https://www.google.com/recaptcha/api.js'></script>
这将确保在解析表单之前运行脚本。
api.js
只有~532字节(缩小),不应该为页面加载增加很多开销。
此外,我还不确定此问题是否与django
相关。我建议你从问题中删除该标签:)
希望这有帮助,祝你好运。