JQuery 加载 CSS、JS 文件

JS 方式加载 CSS、JS 文件:

//加载 css 文件
function includeCss(filename) {var head = document.getElementsByTagName('head')[0];var link = document.createElement('link');link.href = filename;link.rel = 'stylesheet';link.type = 'text/css';head.appendChild(link)
}//加载 js 文件
function includeJs(filename) {var head = document.getElementsByTagName('head')[0];var script = document.createElement('script');script.src = filename;script.type = 'text/javascript';head.appendChild(script)
}

上面这种方式很简单,但也会出现一些问题,比如加载 JS 文件之后,需要执行 JS 内的方法,这时候偶尔会找不到方法执行,因为可能加载 JS 文件的时候,网络卡掉了,所以,需要换种方式加载,必须在加载 JS 文件完成之后,执行 JS 内部方法。

JQuery 加载 CSS 文件:

$("head").append("<link>");
var css = $("head").children(":last");
css.attr({rel:  "stylesheet",type: "text/css",href: "address_of_your_css"
});

Jquery 加载 JS 文件,有两种方式:

$.ajax({url: "js file",dataType: "script",cache: true,success: function () {//todo}
});$.getScript('js file', function () {//todo
});

上面两种方式都可以,并且都是在加载 JS 文件之后,再执行 JS 内部的方法(不会出现找不到方法执行错误),第二种会更简单些。

那如果我们需要加载多个 JS 文件呢?

$.when($.getScript( "/mypath/myscript1.js" ),$.getScript( "/mypath/myscript2.js" ),$.getScript( "/mypath/myscript3.js" ),$.Deferred(function(deferred){$(deferred.resolve);})
).done(function(){//place your code here, the scripts are all loaded
});

如果需要多次调用,也可以抽离出方法:

//定义
$.getMultiScripts = function(arr, path) {var _arr = $.map(arr, function(scr) {return $.getScript( (path||"") + scr );});_arr.push($.Deferred(function( deferred ){$( deferred.resolve );}));return $.when.apply($, _arr);
}//调用
var script_arr = ['myscript1.js', 'myscript2.js', 'myscript3.js'
];
$.getMultiScripts(script_arr, '/mypath/').done(function() {// all scripts loaded
});

本文转自田园里的蟋蟀博客园博客,原文链接:http://www.cnblogs.com/xishuai/p/jquery-load-css-and-js-file.html,如需转载请自行联系原作者

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/453075.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

关闭网页如何接收服务器消息,WebSocket服务端发消息给客户端,浏览器收到消息就关闭了...

引用 2 楼 fly_dragon_fly 的回复:收到的消息是什么0000 00 0b ab 7a 86 83 18 f4 6a 36 60 a2 08 00 45 00 ...z....j6...E.0010 00 b9 49 d3 40 00 40 06 6b aa c0 a8 01 79 c0 a8 ..I...k....y..0020 01 f8 08 03 71 88 a4 d5 52 dc ce c1 f6 89 50 18 ....q...R..…

街舞中的rolling机器人_REMEMBER街舞培训中心2020年元旦汇演

二零二零 元旦汇演REMEMBER2020年1月1日&#xff0c;Remember街舞培训中心在爱琴海购物公园进行了两个小时的汇报表演&#xff0c;Remember的学员们贡献了非常精彩的表演。在过去的2019年&#xff0c;我们一路探索、一路艰辛、一路欣喜、一路收获&#xff0c;在这里感谢所有老…

shell基础(上)

2019独角兽企业重金招聘Python工程师标准>>> 一 shell介绍 shell 是一个命令解释器。本质上是用户与计算机之间的交互。 用户把指令告诉shell&#xff0c;然后shell再传输给系统内核&#xff0c;接着内核再去支配计算机硬件去执行各种操作。 每个用户都可以有自己特…

webRTC实战总结

前言 前段时间一直在忙一个基于WebRTC的PC和移动端双向视频的项目。第一次接触webRTC&#xff0c;难免遇到了许多问题&#xff0c;比如&#xff1a;webRTC移动端兼容性检测&#xff0c;如何配置MediaStreamConstraints&#xff0c; 信令(iceCandidate, sessionDescription)传输…

程序员眼中的2007:寻找软件开发利器

软件开发生命周期包括需求分析、设计、开发、测试、交付部署等各个阶段&#xff0c;以及贯穿在整个开发过程的软件开发项目管理环节&#xff0c;2006年&#xff0c;在每一个阶段都出现了令人眼花缭乱的技术与应用&#xff0c;同时这些技术还将进一步影响2007年的发展&#xff0…

谷歌虚拟服务器申请,【美国podserver.info】免费300M虚拟主机空间申请使用教程

【美国podserver.info】注册使用教程&#xff1a;1、打开申请地址&#xff0c;点击下图位置中的“Sign Up”开始注册。2、点击“Sign Up”开始注册后&#xff0c;进入到注册检查页面&#xff0c;我们按下图选择“I’m a human.”然后点击“Submit”进入到注册信息填写页面。3、…

物理层协议有哪四大特性

1.机械特性 指明接口所用接线器的形状和尺寸、引线数目和排列、固定和锁定装置等等。2.电气特性 指明在接口电缆的各条线上出现的电压的范围。3.功能特性 指明某条线上出现的某一电平的电压表示何种意义。4.过程特性 指明对于不同功能的各种可能事件的出现顺序。

phpstudy中的mysql

1.进入mysql命令台&#xff0c;执行 select version()即可 2status;

度量相似性数学建模_一种基于粒子群位置更新思想灰狼优化算法的K-Means文本分类方法与流程...

技术特征&#xff1a;1.一种基于粒子群位置更新思想灰狼优化算法的k-means文本分类方法&#xff0c;其特征在于&#xff1a;包括以下步骤&#xff1a;s1:对文本数据进行预处理&#xff0c;得到预处理后文本数据&#xff1b;s2&#xff1a;采用余弦角度为相似性度量&#xff0c;…

Overload重載和Override重写的区别。Overloaded的方法是否可以改变返回值的类型?

Overload是重载的意思&#xff0c;Override是覆盖的意思&#xff0c;也就是重写。 重载Overload表示同一个类中可以有多个名称相同的方法&#xff0c;但这些方法的参数列表各不相同&#xff08;即参数个数或类型不同&#xff09;。 重写Override表示子类中的方法可以与父类中的…

web服务器文件管理,web文件管理服务器

web文件管理服务器 内容精选换一换该任务指导用户在SSL证书管理平台下载证书。证书状态为已签发或托管中。仅支持在证书有效期内&#xff0c;不限次数的下载证书&#xff0c;下载后即可在服务器(华为云的或非华为云的均可)上进行部署。证书请求文件选择的是系统生成CSR&#xf…

简单计算器 (关于栈的一种应用)

题目&#xff1a;简单计算器读入一个只包含 , -, *, / 的非负整数计算表达式&#xff0c;计算该表达式的值。Input测试输入包含若干测试用例&#xff0c;每个测试用例占一行&#xff0c;每行不超过200个字符&#xff0c;整数和运算符之间用一个空格分隔。没有非法表达式。当一行…

python中模运算_Python中的模运算

所谓取模运算&#xff0c;就是计算两个数相除之后的余数&#xff0c;符号是%。如a % b就是计算a除以b的余数。用数学语言来描述&#xff0c;就是如果存在整数n和m&#xff0c;其中0 < m < b&#xff0c;使得$ a n * b m $&#xff0c;那么$ a \% b a - n * b m $。先…

伟大公司为什么需要技术型领导?

Facebook前工程总监黄易山撰写了一系列文章&#xff0c;很好地总结了Facebook卓越研发文化中的宝贵经验。本文是这一系列文章的第五篇&#xff0c;也是最后一篇。 何谓技术型领导 所有从外部聘用的管理人员包括技术部门负责人&#xff0c;都必须能够编写代码&#xff0c;并且…

css样式变 及实际用法

<html xmlns"http://www.w3.org/1999/xhtml"><head><meta http-equiv"Content-Type" content"text/html; charsetutf-8" /><title>引入外部样式</title><link rel" stylesheet" href"home.css&…

服务器部署的参数文档,服务器参数配置

服务器参数配置 内容精选换一换源端服务器迁移至华为云后&#xff0c;最终将迁移到弹性云服务器上。因此在迁移前&#xff0c;您需要在华为云中创建一个或多个弹性云服务器。进入“弹性云服务器”页面。关于参数的详细信息&#xff0c;请参见购买弹性云服务器。Windows系统的目…

扩散法及其改进

扩散法是一种静态路由算法,每一个输入的分组都被从除输入线路之外的所有其它线路上转发出去.扩散法显然会产生大量的分组副本,因此必须有一些办法来抑制无限的转发.1.一种办法是在分组头中携带一个跳数计数器,分组每到一个节点其跳数计数器就减1,当计数器为0时分组被丢弃.计数器…

h5页 点击返回时关闭_在微信、支付宝、百度钱包实现点击返回按钮关闭当前页面和窗口...

最近在使用微信、支付宝、百度钱包实现网页支付&#xff0c;对支付成功将自动关闭页面&#xff0c;对于支付失败&#xff0c;将显示错误信息。当在错误页面的时候&#xff0c;点击返回或者Android物理按键上一步的时候&#xff0c;将关闭页面。在微信、支付宝、百度钱包中&…