为什么 getScript 在外部脚本中不起作用?
Why getScript does not work from an external script?
我正在尝试加载 google recaptcha 脚本
$.getScript("https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit");
如果我将它放入 <script>
标签并内联网页,它会正确加载验证码,而如果我包含 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);
})();
我不熟悉 google 验证码规范,但我认为这可行。您只需要找到在上下文中执行的脚本 url 即可。提示:URL 可能不会在其中显示 'onload=onloadCallback'。
我正在尝试加载 google recaptcha 脚本
$.getScript("https://www.google.com/recaptcha/api.js?onload=onloadCallback&render=explicit");
如果我将它放入 <script>
标签并内联网页,它会正确加载验证码,而如果我包含 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);
})();
我不熟悉 google 验证码规范,但我认为这可行。您只需要找到在上下文中执行的脚本 url 即可。提示:URL 可能不会在其中显示 'onload=onloadCallback'。