如何根据条件加载外部 JavaScript

互联网 行业动态 更新时间:2024-06-13 00:19:41

Our*_*rus 14

如果您已经知道如何检测您的标准,那么加载另一个脚本如下所示:

<head>
<!-- the usual head stuff goes here -->
<script>
// replace `criteria` with your actual criteria
if(criteria) {
  const script = document.createElement('script');
  script.id = '__script__id__';
  script.type = 'text/javascript';
  script.async = true;
  script.src = '//abc.xyz./js/script.js';
  document.head.append(script);
}
</script>
<!-- remaining scripts go here -->
<!-- injected script will end up here -->
</head>

检查条件,创建元素,设置其属性,将其添加到文档中。


我尝试寻找有关此机制的详细信息。我能找到的最好的是来自 MDN 关于脚本元素asyncdefer属性的主题:

这些属性的确切处理细节很复杂,涉及 HTML 的许多不同方面,因此分散在整个规范中。这些算法描述了核心思想,但它们依赖于 HTML、外部内容和XML中<script> 开始和结束标记的解析规则;该方法的规则;脚本的处理;等等。document.write()

不幸的是,我对 W3 的各种 HTML 规范没有必要的熟悉程度来将其转换为简单的英语,而且看起来需要相当长的时间才能变得熟悉。

您实际上不必像我在这里所做的那样设置异步。(您通常也不需要设置类型,除非服务器配置错误。)动态添加的脚本是[默认异步](javascript.info/script-async-defer#dynamic-scripts)。至于让它立即执行,请确保脚本是内联的(不是从 url 加载的)并且它显示为头中的第一个脚本。 (3认同)

更多推荐

加载,条件,JavaScript

本文发布于:2023-04-21 15:31:36,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/hyzx/e1404da91536e1fbf0fc1ec59d93c2f3.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:加载   条件   JavaScript

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!