Javascript 如何使用CSS使reCaptcha通过HTML5验证

Javascript 如何使用CSS使reCaptcha通过HTML5验证,javascript,jquery,css,html,recaptcha,Javascript,Jquery,Css,Html,Recaptcha,我使用的是recaptcha,它将iframe和文本区域呈现为我页面上的一个div: 但是,recaptcha嵌入了一个iframe,其中包含scrolling=no和'frameborder=0',这两个选项都未通过html5验证 HTML5规范说应该使用CSS替换这些属性,但我无法用CSS隐藏iframe上的滚动条 以下是我的标记供参考: <div id="g_recaptcha" class="g-recaptcha"> <div style="width: 30

我使用的是recaptcha,它将iframe和文本区域呈现为我页面上的一个div:

但是,recaptcha嵌入了一个iframe,其中包含
scrolling=no
和'frameborder=0',这两个选项都未通过html5验证

HTML5规范说应该使用CSS替换这些属性,但我无法用CSS隐藏iframe上的滚动条

以下是我的标记供参考:

<div id="g_recaptcha" class="g-recaptcha">
    <div style="width: 304px; height: 78px;">
    </div>
</div>
启动以下回调的:

    window.onCaptchaLoaded = function() {
        grecaptcha.render("g_recaptcha", {
            'sitekey' : '6LeveRUUAAAAAMRdgfWYWDzGd1iGYPSB_TIvg7nN',
            'callback' : captchaValidated,
            'expired-callback' : captchaExpired
        });

        $('#g-recaptcha-response').attr("title", "reCaptcha response");
        $('#g_recaptcha iframe').removeAttr("frameborder").css("border", "none")
                .removeAttr("scrolling").css("overflow", "hidden");

    }
正如您所看到的,我试图使用query删除无效的HTML5属性,并用它们的CSS计数器部分替换它们


这里是否需要更多CSS来隐藏滚动条,或者是否有更好的方法使reCaptcha HTML5兼容?

我完全支持编写有效代码,但在这种情况下。。。无论如何,它都是通过脚本插入的,所以它不会使原始HTML代码的验证失败;浏览器在这方面有很大的容忍度,所以这些属性只会“起作用”;最后,当CSS用于实现或禁止页面滚动时,会对html或body元素应用
overflow
,因为iframe包含来自不同域的内容,所以您在这里没有脚本访问权限。所以,即使你杀死了这些属性,你也无法用相应的CSS功能来替换它们。。。无论如何,它都是通过脚本插入的,所以它不会使原始HTML代码的验证失败;浏览器在这方面有很大的容忍度,所以这些属性只会“起作用”;最后,当CSS用于实现或禁止页面滚动时,会对html或body元素应用
overflow
,因为iframe包含来自不同域的内容,所以您在这里没有脚本访问权限。因此,即使您删除了这些属性,也无法用相应的CSS功能替换它们。
    window.onCaptchaLoaded = function() {
        grecaptcha.render("g_recaptcha", {
            'sitekey' : '6LeveRUUAAAAAMRdgfWYWDzGd1iGYPSB_TIvg7nN',
            'callback' : captchaValidated,
            'expired-callback' : captchaExpired
        });

        $('#g-recaptcha-response').attr("title", "reCaptcha response");
        $('#g_recaptcha iframe').removeAttr("frameborder").css("border", "none")
                .removeAttr("scrolling").css("overflow", "hidden");

    }