猿问

在 <head> 元素中动态加载脚本

好的,所以我正在尝试在脚本依赖项不可用的情况下同步加载备份.js文件,并且一切似乎都运行良好,除了所述脚本实际上没有加载这一事实,即使元素本身是创建:src


[etc]


<head>

<script id = 'self'>

 if (typeof jQuery === 'undefined') {


  function insertAfter(referenceNode, el) { 

    referenceNode.parentNode.insertBefore(el, referenceNode.nextSibling); 

  }


  var loadjq = document.createElement('script');


  // backup CDN

  loadjq.src = 'https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js'; 


  loadjq.type = 'text/javascript';

  // loadjq.async = false;


  insertAfter(document.getElementById('self'), loadjq);


 }  

</script>


// element IS created here: <script src = 'https://ajax.google...' type = 'text/...'></script>

// but nothing is executed


<script>

  console.log($); // Reference Error

</script>

</head>


[etc]

请注意,我没有把它放在一个DOMContentLoaded事件或任何东西中,但我觉得这应该有效。我用 Chrome 和 Firefox 进行了测试,这不是缓存错误。有什么建议?


RISEBY
浏览 138回答 1
1回答
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答