如何加载无法加载的动态附加脚本?

How-to load a dynamically appended script that won't load?

动态附加的脚本从不加载:

const nodeTemplate = document.importNode(template.content, true)
const script = nodeTemplate.firstElementChild

script.removeAttribute('async')
script.setAttribute('defer', 'defer')
document.body.appendChild(nodeTemplate)

知道为什么吗?有没有办法强制加载?

我在这里和其他地方查看了不同的解决方案,none 似乎目前有效。

如果它发生在页面加载时,它工作正常。

我认为您需要检查它是否已加载,如果没有,最好从 DOM 中完全删除该脚本,然后创建新的 script 标签。

然后尝试这样的操作,这是注入脚本小部件的常见模式:

// 1. remove your old script
    
      // 2. create new
      (function(){
            var s = document.createElement('script');
            s.type = 'text/javascript';
            s.async = false;
            s.defer = true;
            s.src = "https://cdnjs.cloudflare.com/ajax/libs/animejs/3.2.1/anime.min.js"; 
            document.getElementsByTagName('head')[0].appendChild(s);
        })();