动态加载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 相关文章推荐
jquery focus(fn),blur(fn)方法实例代码
Dec 16 Javascript
JavaScript控制网页层收起和展开效果的方法
Apr 15 Javascript
javascript返回顶部的按钮实现方法
Jan 09 Javascript
jQuery实现的多滑动门,多选项卡效果代码
Mar 28 Javascript
jQuery表格(Table)基本操作实例分析
Mar 10 Javascript
详解Vue-cli 创建的项目如何跨域请求
May 18 Javascript
浅析Vue自定义组件的v-model
Nov 26 Javascript
Vue调试神器vue-devtools安装方法
Dec 12 Javascript
vue数据传递--我有特殊的实现技巧
Mar 20 Javascript
vue 标签属性数据绑定和拼接的实现方法
May 17 Javascript
vue实现动态添加数据滚动条自动滚动到底部的示例代码
Jul 06 Javascript
JavaScript中isPrototypeOf函数
Nov 07 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
PHP中调用JAVA
2006/10/09 PHP
解决ThinkPHP关闭调试模式时报错的问题汇总
2015/04/22 PHP
WordPress中登陆后关闭登陆页面及设置用户不可见栏目
2015/12/31 PHP
javascript中字符串拼接需注意的问题
2010/07/13 Javascript
仿jQuery的siblings效果的js代码
2011/08/09 Javascript
window.addEventListener来解决让一个js事件执行多个函数
2012/12/26 Javascript
jquery实现html页面 div 假分页有原理有代码
2014/09/06 Javascript
javascript实现分栏显示小技巧附图
2014/10/13 Javascript
JQuery 在文档中查找指定name的元素并移除的实现方法
2016/05/19 Javascript
详解vue-cli与webpack结合如何处理静态资源
2017/09/19 Javascript
Vue响应式原理深入解析及注意事项
2017/12/11 Javascript
Vue自定义指令封装节流函数的方法示例
2018/07/09 Javascript
解决layui上传文件提示上传异常,实际文件已经上传成功的问题
2018/08/19 Javascript
vue-cli3.0+element-ui上传组件el-upload的使用
2018/12/03 Javascript
Vue指令v-for遍历输出JavaScript数组及json对象的常见方式小结
2019/02/11 Javascript
详解vuex数据传输的两种方式及this.$store undefined的解决办法
2019/08/26 Javascript
vue循环数组改变点击文字的颜色
2019/10/14 Javascript
[57:47]Fnatic vs Winstrike 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
对于Python的框架中一些会话程序的管理
2015/04/20 Python
Python实现的桶排序算法示例
2017/11/29 Python
python使用KNN算法识别手写数字
2019/04/25 Python
Python在cmd上打印彩色文字实现过程详解
2019/08/07 Python
Python数据可视化 pyecharts实现各种统计图表过程详解
2019/08/15 Python
python turtle工具绘制四叶草的实例分享
2020/02/14 Python
详解CSS3中字体平滑处理和抗锯齿渲染
2017/03/29 HTML / CSS
CSS3中的display:grid,网格布局介绍
2019/10/30 HTML / CSS
环境科学专业研究生求职信
2013/10/02 职场文书
高职教师岗位职责
2013/12/24 职场文书
幼儿园教研活动方案
2014/01/19 职场文书
社区中秋节活动方案
2014/01/29 职场文书
手机被没收检讨书
2014/02/22 职场文书
企业仓管员岗位职责
2014/06/15 职场文书
办公室主任四风问题对照检查材料思想汇报
2014/09/28 职场文书
单位作风建设自查报告
2014/10/23 职场文书
普通党员群众路线教育实践活动心得体会
2014/11/04 职场文书
2016年党员公开承诺书范文
2016/03/24 职场文书