0
我试图在组件中动态加载js脚本。检查组件Angular 2中是否已有外部js脚本
我有一个使用验证码,这个问题与它的是每次用户访问该组件,外部脚本加载联络组件。
export class ContactCmp {
captchaReady = false;
constructor() {
}
ngOnInit() {
if(){ //check if script is already loaded
this.loadScript('https://www.google.com/recaptcha/api.js', this.captchaLoaded);
}
else{
console.log("captcha is already loaded.")
}
}
captchaLoaded(){
console.log("Captcha loaded");
this.captchaReady = true;
}
loadScript(url, callback)
{
var head = document.getElementsByTagName('head')[0];
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
script.onreadystatechange = callback;
script.onload = callback;
head.appendChild(script);
}
}
如何检查脚本是否已经加载?
的存在,如果它的缓存,这一点我敢肯定,谷歌将确保它是,那么它应该立即加载... – dandavis
@ dandavis它没有加载正确的方式 –