User interface 检查google reCaptcha服务是否打开或关闭

User interface 检查google reCaptcha服务是否打开或关闭,user-interface,recaptcha,User Interface,Recaptcha,我使用的是简单的google recaptcha。 我的要求是,如果谷歌api不可用(即,如果谷歌服务器关闭,知道它不常见的情况)意味着无法从谷歌服务器获得任何回复,那么在提交表单时,我将隐藏谷歌reCaptcha包装,在提交表单时,我不想验证谷歌reCaptcha 请建议我如何做到这一点。谷歌不提供这些数据(假设他们一直在更新) 但你可以这样做。动态加载脚本并检查回调中是否存在事件。如果没有可用的事件,则失败。 查看@example注释了解用法 var setAttributes=函数(el

我使用的是简单的google recaptcha。 我的要求是,如果谷歌api不可用(即,如果谷歌服务器关闭,知道它不常见的情况)意味着无法从谷歌服务器获得任何回复,那么在提交表单时,我将隐藏谷歌reCaptcha包装,在提交表单时,我不想验证谷歌reCaptcha


请建议我如何做到这一点。

谷歌不提供这些数据(假设他们一直在更新)

但你可以这样做。动态加载脚本并检查回调中是否存在
事件。如果没有可用的
事件
,则失败。 查看
@example
注释了解用法

var setAttributes=函数(el,attrs){
/**
*@method simple for in-loop帮助以编程方式创建元素
*@param{object}el-HtmleElement属性正在添加到
*@param{object}attrs-具有所需属性的键/值的对象文字
*@example setAttributes(信息{
*“id”:“info”
*“类”:“我的类名”
* });
*/
"严格使用",;
var键;
for(输入属性){
if(属性hasOwnProperty(键)){
el.setAttribute(key,attrs[key]);
}
}
返回el;
};
var getScript=函数(url,完整路径){
/**
*@method向页面动态添加脚本标记。
*带有相对路径和文件名的@param{url}字符串-不包括扩展名
*带有绝对路径的@param{fullPath}字符串
*@example getScript('FrameAdjustChild');
*@example getScript(“”,'https://www.google-analytics.com/analytics.js');
*/
"严格使用",;
var setAtt,PATH=/js/,/*或保存脚本的任何位置*/
el=document.createElement('script'),
属性={
是的,
src:null,
键入:“text/javascript”
};
/**寻找一个基于字符串、协议无关的js文件url*/
if(typeof fullPath=='string'&&fullPath.indexOf('http')==0){
attrs.src=完整路径;
}
/**查找任何至少包含1个字符的字符串,并在根js dir前加前缀,然后附加扩展名*/
如果(url的类型=='string'&&url.length>=1){
attrs.src=PATH+url+'.js';
}
setAtt=setAttributes(el、ATTR);
el.addEventListener('load',函数(事件){
如果(事件){
/*地位很好*/
}
否则{
/*地位不好*/
}
},假);
文件.正文.附件(el);
返回el;

};可能的应用程序将在无法访问google API的网络中使用。