如何用js改变reCaptcha (v2)的宽度?
How to change the width of reCaptcha (v2) with js?
我正在尝试为 reCaptcha (v2) 设置宽度,但 JavaScript 找不到我需要将样式应用到的 div (<div class="rc-anchor rc-anchor-normal rc-anchor-light">
)。
我已经尝试 Jquery、vanilla JS 和两者的组合来实现这一点,但似乎没有任何效果。我主要试图给那个 div
一个 ID
(document.getElementsByClassName("rc-anchor-normal")[0].setAttribute("id", "captchadiv");
) 但是不知何故 JS 找不到对象,除非我在验证码上使用检查元素并自己找到 div
.
有人知道我该如何实现吗?
我的完整代码
var width = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
var form = width - (width * 0.10);
var input = $("#name").outerWidth();
setTimeout(() => { document.getElementsByClassName("rc-anchor-normal")[0].style.width = input; }, 5000);
试试这个解决方法:
.g-recaptcha {
transform:scale(0.77);
transform-origin:0 0;
}
更新:
可以在url中使用onload参数:
src="https://www.google.com/recaptcha/api.js?onload=onloadCallback
<script type="text/javascript">
var onloadCallback = function() {
//set CSS
};
</script>
直接来自 docs。有一个 api 可让您将大小配置为紧凑或正常。该属性称为 data-size
。这是如何使用它的代码块:
<script type="text/javascript">
var onloadCallback = function() {
grecaptcha.render('html_element', {
'size' : 'compact'
});
};
</script>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
我发现唯一对我有用的是缩放内容而不是 captcha
。
我正在尝试为 reCaptcha (v2) 设置宽度,但 JavaScript 找不到我需要将样式应用到的 div (<div class="rc-anchor rc-anchor-normal rc-anchor-light">
)。
我已经尝试 Jquery、vanilla JS 和两者的组合来实现这一点,但似乎没有任何效果。我主要试图给那个 div
一个 ID
(document.getElementsByClassName("rc-anchor-normal")[0].setAttribute("id", "captchadiv");
) 但是不知何故 JS 找不到对象,除非我在验证码上使用检查元素并自己找到 div
.
有人知道我该如何实现吗?
我的完整代码
var width = Math.max(document.documentElement.clientWidth, window.innerWidth || 0);
var form = width - (width * 0.10);
var input = $("#name").outerWidth();
setTimeout(() => { document.getElementsByClassName("rc-anchor-normal")[0].style.width = input; }, 5000);
试试这个解决方法:
.g-recaptcha {
transform:scale(0.77);
transform-origin:0 0;
}
更新:
可以在url中使用onload参数: src="https://www.google.com/recaptcha/api.js?onload=onloadCallback
<script type="text/javascript">
var onloadCallback = function() {
//set CSS
};
</script>
直接来自 docs。有一个 api 可让您将大小配置为紧凑或正常。该属性称为 data-size
。这是如何使用它的代码块:
<script type="text/javascript">
var onloadCallback = function() {
grecaptcha.render('html_element', {
'size' : 'compact'
});
};
</script>
<script src="https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"
async defer>
</script>
我发现唯一对我有用的是缩放内容而不是 captcha
。