这个问题,之前没怎么想过,因为现在大部分时间我们都在搞 react、vue + webpack 这种有模块化的,所以基本上用 es module 就可以。

一般最终形态都是 html 引入 script 标签,如果一些老项目需要一个 script 标签里的 js 引用另一个 js 文件,怎么办呢。

function addScript(url){var script = document.createElement('script');script.setAttribute('type','text/javascript');script.setAttribute('src',url);// 具体加载在哪,可替换这一条document.getElementsByTagName('head')[0].appendChild(script);
}
// 加载在head末尾
document.getElementsByTagName('head')[0].appendChild(script);
document.head.appendChild(script);// 加载在body末尾,需要确保已经有body标签了,如果这个代码是在head里,那可能还没有body
document.body.appendChild(script);// 加在 head 标签上面,也就是 html 里的第一个元素
var html = document.documentElement;
html.insertBefore(script, html.firstChild);// 加载在第一个script脚本前,确保网页中至少有一个 script 标签
var first = document.getElementsByTagName('script')[0];
first.parentNode.insertBefore(script, first);// 把js文件插入到目前所在的js文件前
var first = document.getElementsByTagName('script');
var here = first[first.length-1];
here.parentNode.insertBefore(script, here);// 把js文件插入到目前所在的js文件后
var first = document.getElementsByTagName('script');
var here = first[first.length-1];
here.parentNode.appendChild(script);

如果加载完,想要获取这个 js 文件中暴露的全局变量,则需要:

function addScript(url){var script = document.createElement('script');script.setAttribute('type','text/javascript');script.setAttribute('src',url);document.getElementsByTagName('head')[0].appendChild(script);
}
addScript('http://pv.sohu.com/cityjson')
window.onload = function () {console.log(window.returnCitySN)
}

js:js中加载js文件相关推荐

  1. html动态加载js方法,原生JS实现动态加载js文件并在加载成功后执行回调函数的方法...

    本文实例讲述了原生JS实现动态加载js文件并在加载成功后执行回调函数的方法.分享给大家供大家参考,具体如下: 有的时候需要动态加载一个javascript文件,并且在加载成功后执行回调函数(例如文件中 ...

  2. JS练习 -- 动态加载JS

    文章目录 导读 通过CDN网站获取js的url url.script.src XHR加载.script.text 参考资料 导读 日期:2022-1-18 分析网页时,经常遇到一些库未加载的情况,比如 ...

  3. html 调用c#dll中的控件,C#实现反射调用动态加载的DLL文件中的方法和在窗体中加载DLL文件的用户控件...

    反射的作用: 1. 可以使用反射动态地创建类型的实例,将类型绑定到现有对象,或从现有对象中获取类型 2. 应用程序需要在运行时从某个特定的程序集中载入一个特定的类型,以便实现某个任务时可以用到反射. ...

  4. spring配置中加载properties文件方法

    首先,遇到一个问题,spring配置中加载properties文件配置如下: <context:property-placeholder ignore-unresolvable="tr ...

  5. Spire.PDF迎来最新版本更新,Spire.PDF 8.7.2 支持从流中加载 OFD 文件

    Spire.PDF 8.7.2 支持从流中加载 OFD 文件 Spire.PDF for .net 更新至v8.7.2 .该版本支持从流中加载OFD文件,并在WPF程序集中增加了一个支持打印设置的接口 ...

  6. Web前端笔记-js中加载图片文件(vue cli中同样适用)

    这里主要是在vue cli项目中加载图片的时候会出现304,特别是使用自己写的js加载图片的时候,此博文记录了解决办法. 在js文件中引用文件 import img from '@/assets/im ...

  7. 使用 pdf.js 在网页中加载 pdf 文件

    在网页中加载并显示PDF文件是最常见的业务需求.例如以下应用场景:(1)在电商网站上购物之后,下载电子发票之前先预览发票.(2)电子政务管理系统中查看发布的公文,公文文件一般是PDF格式的文件. 目前 ...

  8. js怎么动态加载js文件(JavaScript性能优化篇)

    下面介绍一种JS代码优化的一个小技巧,通过动态加载引入js外部文件来提高网页加载速度 [基本优化] 将所有需要的<script>标签都放在</body>之前,确保脚本执行之前完 ...

  9. Joomla!程序中加载JS和CSS的方法

    1.加载单独的js文件: $js = JURI::base().'components/com_foobar/assets/script.js'; $document =& JFactory: ...

  10. js jq 动态加载js文件

    1.jquery方法 $.getScript("./test.js"); //加载js文件 $.getScript("./test.js",function() ...

最新文章

  1. ATS 5.3.0命令行工具traffic_via
  2. 01-1制作U盘启动盘--大白菜超级U盘启动盘制作工具
  3. NI~state-machine~Coding
  4. 专家把脉,深入分析八种前景看好的物联网业务形态
  5. spring mvc返回json
  6. Django项目--首页静态化
  7. C++学习之路 | PTA乙级—— 1082 射击比赛 (20 分)(精简)
  8. html5的video怎么把里面的控制器移出来_6个月宝宝米粉怎么冲,一次吃多少?一天吃几次?关于宝宝米粉的难题,答案都在这了!...
  9. jupyter的常用操作——Python学习(二)
  10. ACLEMNLP'21 | 基于神经转移模型的论辩挖掘任务
  11. springboot 集成 freemarker
  12. 2021 CCF网络推荐会议时间列表
  13. java带界面的代码_求一个java swing带界面的万年历代码
  14. AutoCAD的卸载后重新安装,删除注册表的详细过程
  15. 如何把JPG图片转换成Word文字?
  16. python爬取快代理和西刺的国内高匿代理IP
  17. 论文写作:如何选研究题目?
  18. Vue3中watch和watchEffect监听的用法
  19. 万字长文总结Android多进程,大厂直通车!
  20. 人工智能的发展趋势综述

热门文章

  1. 如何使用树莓派制作避障机器人
  2. 综合布线---关于线缆的一些小知识(1)
  3. win11更改系统字体的方法
  4. delphi 裁剪mp3_MP3剪切器下载-MP3剪切器正式版下载[电脑版]-PC下载网
  5. 基于stm32f103c8t6的电子温度计(0.96寸oled显示温度,测温用的是ds18b20传感器,可以设置温度范围,超出范围报警)小白学习记录
  6. BUUCTF 还原大师
  7. 植物大战僵尸(8):分析植物的攻击速度
  8. MFC读取bin文件并以16进制显示出来
  9. 【转载】迅雷应用开发(调用迅雷自…
  10. sas模拟试验构建线性模型_在sas上构建一个有角度的Web应用程序