Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/81.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 为什么getScript不能从外部脚本工作?_Javascript_Jquery_Recaptcha - Fatal编程技术网

Javascript 为什么getScript不能从外部脚本工作?

Javascript 为什么getScript不能从外部脚本工作?,javascript,jquery,recaptcha,Javascript,Jquery,Recaptcha,我正在尝试让google recaptcha脚本加载 $.getScript("https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit"); 如果我将其放入标记并内联网页,它将正确加载验证码,而如果我将getScript包含在外部.js文件中,该文件仍托管在相同的域中,则不会加载来自recaptcha的javascript。这是脚本本身的问题还是getScript的问题?当触发“onlo

我正在尝试让google recaptcha脚本加载

$.getScript("https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit");

如果我将其放入
标记并内联网页,它将正确加载验证码,而如果我将getScript包含在外部
.js
文件中,该文件仍托管在相同的域中,则不会加载来自recaptcha的javascript。这是脚本本身的问题还是
getScript
的问题?

当触发“onload”事件时,将呈现您正在调用的脚本

(function() {
  if (!window['___grecaptcha_cfg']) { 
    window['___grecaptcha_cfg'] = {}; 
  };
  if (!window['___grecaptcha_cfg']['render']) {


    // If the render time isn't set, set it to (window) onload //

    window['___grecaptcha_cfg']['render'] = 'onload';      


  };
  window['__google_recaptcha_client'] = true;
  var po = document.createElement('script'); 
  po.type = 'text/javascript'; 
  po.async = true;po.src = 'https://www.gstatic.com/recaptcha/api2/r20150826120751/recaptcha__en.js';
  var s = document.getElementsByTagName('script')[0]; 
  s.parentNode.insertBefore(po, s);
})();

我不熟悉谷歌验证码规范,但我认为这是可行的。您只需要找到在上下文中执行的脚本url。提示:URL中可能不会显示“onload=onloadCallback”

当触发“onload”事件时,将呈现您正在调用的脚本

(function() {
  if (!window['___grecaptcha_cfg']) { 
    window['___grecaptcha_cfg'] = {}; 
  };
  if (!window['___grecaptcha_cfg']['render']) {


    // If the render time isn't set, set it to (window) onload //

    window['___grecaptcha_cfg']['render'] = 'onload';      


  };
  window['__google_recaptcha_client'] = true;
  var po = document.createElement('script'); 
  po.type = 'text/javascript'; 
  po.async = true;po.src = 'https://www.gstatic.com/recaptcha/api2/r20150826120751/recaptcha__en.js';
  var s = document.getElementsByTagName('script')[0]; 
  s.parentNode.insertBefore(po, s);
})();

我不熟悉谷歌验证码规范,但我认为这是可行的。您只需要找到在上下文中执行的脚本url。提示:URL中可能不会显示“onload=onloadCallback”

您在执行此操作时是否遇到任何错误?该链接可能存在一些问题,或者该链接位于您的域源之外。在加载脚本的外部版本之前是否加载了jQuery?使用浏览器(F12)中的开发人员工具检查控制台日志中的错误。执行此操作时是否出现任何错误?该链接可能存在一些问题,或者该链接位于您的域源之外。在加载脚本的外部版本之前是否加载了jQuery?在浏览器中使用开发人员工具(F12)检查控制台日志中的错误。无法直接加载该脚本,因为无法直接知道它何时完成加载,因为它自己加载了外部资源。无法直接加载该脚本,因为无法直接知道它何时完成加载,因为它自己加载了外部资源