动态加载JavaScript文件的3种方式


Posted in Javascript onMay 05, 2018

以下是遇到的几种动态加载JavaScript文件的方式,持续更新中。。。

一、使用document.write/writeln()方式

该种方式可以实现js文件的动态加载,原理就是在重写文档流,这种方式会导致整个页面重绘。

实现方式:

document.writeln("<script src=\"http://lib.sinaapp.com/js/jquery/1.6/jquery.min.js\"></script>");

需要注意的是特殊字符的转义。

二、使用jQuery

使用getScript(url,callback)方法实现动态加载js文件

$.getScript('test.js',function(){
 alert('done');
});

三、使用原生js方法

原理:动态创建script标签,并指定script的src属性

function loadJs(url,callback){
 var script=document.createElement('script');
 script.type="text/javascript";
 if(typeof(callback)!="undefined"){
 if(script.readyState){
 script.onreadystatechange=function(){
  if(script.readyState == "loaded" || script.readyState == "complete"){
  script.onreadystatechange=null;
  callback();
  }
 }
 }else{
 script.onload=function(){
  callback();
 }
 }
 }
 script.src=url;
 document.body.appendChild(script);
 }
 loadJs("test.js",function(){
 alert('done');
 });

还可以使用同样的原理动态加载css文件,只不过插入的的父节点是head标签。

以上就是动态加载JavaScript文件的方法,希望对大家的学习有所帮助。

Javascript 相关文章推荐
CLASS_CONFUSION JS混淆 全源码
Dec 12 Javascript
基于jquery的jqDnR拖拽溢出的修改
Feb 12 Javascript
js对象与打印对象分析比较
Apr 23 Javascript
js data日期初始化的5种方法
Dec 29 Javascript
JavaScript 链式结构序列化详解
Sep 30 Javascript
jsp 网站引入外部css或者js失效问题解决
Oct 31 Javascript
JS获取当前地理位置的方法
Oct 25 Javascript
Angular 组件之间的交互的示例代码
Mar 24 Javascript
在element-ui的el-tree组件中用render函数生成el-button的实例代码
Nov 05 Javascript
javascript的delete运算符知识点总结
Nov 19 Javascript
ElementUI中el-tree节点的操作的实现
Feb 27 Javascript
javascript实现时钟动画
Dec 03 Javascript
Node.js的Koa实现JWT用户认证方法
May 05 #Javascript
浅谈vue项目可以从哪些方面进行优化
May 05 #Javascript
Angular模版驱动表单的使用总结
May 05 #Javascript
浅谈Angular HttpClient简单入门
May 04 #Javascript
Vue项目全局配置微信分享思路详解
May 04 #Javascript
vue嵌套路由与404重定向实现方法分析
May 04 #Javascript
Vue.js最佳实践(五招助你成为vuejs大师)
May 04 #Javascript
You might like
一个简单的域名注册情况查询程序
2006/10/09 PHP
PHP简单预防sql注入的方法
2016/09/27 PHP
PHP中Cookie的使用详解(简单易懂)
2017/04/28 PHP
thinkPHP中钩子的使用方法实例分析
2017/11/16 PHP
Laravel框架自定义验证过程实例分析
2019/02/01 PHP
关于图片验证码设计的思考
2007/01/29 Javascript
javascript 循环读取JSON数据的代码
2010/07/17 Javascript
js 操作select和option常用代码整理
2012/12/13 Javascript
js 字符串转换成数字的三种方法
2013/03/23 Javascript
体验jQuery和AngularJS的不同点及AngularJS的迷人之处
2016/02/02 Javascript
javascript对象的创建和访问
2016/03/08 Javascript
Node.js Streams文件读写操作详解
2016/07/04 Javascript
手把手教你用Node.js爬虫爬取网站数据的方法
2018/07/05 Javascript
JavaScript创建对象方式总结【工厂模式、构造函数模式、原型模式等】
2018/12/19 Javascript
使用mixins实现elementUI表单全局验证的解决方法
2019/04/02 Javascript
JavaScript前端实现压缩图片功能
2020/03/06 Javascript
Vue中key的作用示例代码详解
2020/06/10 Javascript
[56:29]Secret vs Optic 2018国际邀请赛小组赛BO2 第一场 8.18
2018/08/19 DOTA
Python读取Json字典写入Excel表格的方法
2018/01/03 Python
Python实现读取机器硬件信息的方法示例
2018/06/09 Python
python学生信息管理系统(完整版)
2020/04/05 Python
详解Django-restframework 之频率源码分析
2019/02/27 Python
python判断所输入的任意一个正整数是否为素数的两种方法
2019/06/27 Python
Python 列表推导式需要注意的地方
2020/10/23 Python
css3实现垂直下拉动画菜单示例
2014/04/22 HTML / CSS
东南亚旅游平台:The Trip Guru
2018/01/01 全球购物
Janie and Jack美国官网:GAP旗下的高档童装品牌
2019/09/09 全球购物
日本AOKI官方商城:AOKI西装
2020/06/11 全球购物
构造器Constructor是否可被override?
2013/08/06 面试题
程序集与命名空间有什么不同
2014/07/25 面试题
国际贸易专业推荐信
2013/11/15 职场文书
高中毕业生登记表自我鉴定范文
2014/03/18 职场文书
厨师长岗位职责范本
2014/08/25 职场文书
导游词怎么写
2015/02/04 职场文书
2015年小学生暑假总结
2015/07/13 职场文书
python如何利用traceback获取详细的异常信息
2021/06/05 Python