js:动态导入script脚本文件

举报
彭世瑜 发表于 2022/09/25 05:52:32 2022/09/25
【摘要】 实现原理 模仿百度统计的代码,将其封装成一个可重用的函数 <script> var _hmt = _hmt || []; (function() { var hm...

实现原理

模仿百度统计的代码,将其封装成一个可重用的函数

<script>
   var _hmt = _hmt || [];
    (function() {
      var hm = document.createElement("script");
      hm.src = "//hm.baidu.com/hm.js?64ecd82404c51e03dc91cb9e8c025574";
      var s = document.getElementsByTagName("script")[0]; 
      s.parentNode.insertBefore(hm, s);
    })();
</script>

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
// 动态导入script
function importScript(src) {
  var hm = document.createElement("script");
  hm.src = src;
  var s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(hm, s);
}

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

实现示例

静态服务器

$ pnpm i http-server

# 开启静态服务器
$ npx http-server -p 5500 -c-1

  
 
  • 1
  • 2
  • 3
  • 4

文件目录

$ tree 
.
├── index.html
├── js
│   └── hello.js
└── script.js

  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6

index.html

<!-- 引入js -->
<script src="./script.js"></script>

  
 
  • 1
  • 2

script.js

// 动态导入script
function importScript(src) {
  var hm = document.createElement("script");
  hm.src = src;
  var s = document.getElementsByTagName("script")[0];
  s.parentNode.insertBefore(hm, s);
}


(function () {
  importScript("/js/hello.js");
})();


  
 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

js/hello.js

console.log('Hello');
// 导入成功后控制台输出:Hello

  
 
  • 1
  • 2

访问:http://127.0.0.1:5500/index.html

即可看到控制台输出的内容

文章来源: pengshiyu.blog.csdn.net,作者:彭世瑜,版权归原作者所有,如需转载,请联系作者。

原文链接:pengshiyu.blog.csdn.net/article/details/126949280

【版权声明】本文为华为云社区用户转载文章,如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。