Angular 9:如何在加载外部脚本js之前加载spa

时间:2020-09-29 19:34:15

标签: javascript angular single-page-application

我的SPA中有一个外部javascript js。当我朗读我的SPA时,最后一个将在加载js脚本后加载。我希望在执行脚本之前先加载页面,因为如果不显示该脚本的服务器,则不会显示spa。

我无法使用异步或延迟

1 个答案:

答案 0 :(得分:2)

尝试从SPA的JS代码动态注入脚本标签。这样,我们可以从初始加载中删除外部JS文件,并在需要时加载它。

MDN Doc

示例:

function loadError(){
 console.error('Script Loading Failed');}

function loadSuccess(){
console.info('Script Loaded Successfully');}

var scriptElementment = document.createElement('script');
scriptElement.type = 'text/javascript'; 
scriptElement.defer=true;
scriptElement.onload= loadSuccess; //Function to be invoked , when script is loaded successfully
scriptElement.onerror=loadError; //Function to be invoked, when any error occurred during script loading 
document.head.appendChild(scriptElement);
scriptElement.src= 'https://example.com/sample.js'; //URL of file