php动态添加js和css样式,如何实现JavaScript动态加载CSS和JS文件

项目中需要用到动态加载CSS 文件,整理了一下,顺便融合了动态加载JS 的功能写成了一个对象,先上代码:

var dynamicLoading = {

css: function(path){

if(!path || path.length === 0){

throw new Error('argument "path" is required !');

}

var head = document.getElementsByTagName('head')[0];

var link = document.createElement('link');

link.href = path;

link.rel = 'stylesheet';

link.type = 'text/css';

head.appendChild(link);

},

js: function(path){

if(!path || path.length === 0){

throw new Error('argument "path" is required !');

}

var head = document.getElementsByTagName('head')[0];

var script = document.createElement('script');

script.src = path;

script.type = 'text/javascript';

head.appendChild(script);

}

}

对象包含两个完全独立的方法,分别用来加载CSS 文件和JS 文件,参数均为欲加载的文件路径。原理非常的简单:对于不同的加载文件类型创建不同的节点,然后添加各自的属性,最后扔到head 标签里面。经测试,本方法兼容各浏览器,安全、无毒、环保,是 web 开发人员工作常备代码。

下面是调用代码,异常简单:

//动态加载 CSS 文件

dynamicLoading.css("test.css");

//动态加载 JS 文件

dynamicLoading.js("test.js");

动态加载js和css

开发过程中经常需要动态加载js和css,今天特意总结了一下常用的方法。

1、动态加载js

方法一:动态加载js文件

// 动态加载js脚本文件

function loadScript(url) {

var script = document.createElement("script");

script.type = "text/javascript";

script.src = url;

document.body.appendChild(script);

}

// 测试

loadScript("javascript/lib/cookie.js");

方法二:动态加载js脚本

// 动态加载js脚本

function loadScriptString(code) {

var script = document.createElement("script");

script.type = "text/javascript";

try{

// firefox、safari、chrome和Opera

script.appendChild(document.createTextNode(code));

}catch(ex) {

// IE早期的浏览器 ,需要使用script的text属性来指定javascript代码。

script.text = code;

}

document.body.appendChild(script);

}

// 测试

var text = "function test(){alert('test');}";

loadScriptString(text);

test();

2、动态加载css

方法一:动态加载css文件

// 动态加载css文件

function loadStyles(url) {

var link = document.createElement("link");

link.type = "text/css";

link.rel = "stylesheet";

link.href = url;

document.getElementsByTagName("head")[0].appendChild(link);

}

// 测试

loadStyles("css/secondindex.css");

方法二:动态加载css脚本

// 动态加载css脚本

function loadStyleString(cssText) {

var style = document.createElement("style");

style.type = "text/css";

try{

// firefox、safari、chrome和Opera

style.appendChild(document.createTextNode(cssText));

}catch(ex) {

// IE早期的浏览器 ,需要使用style元素的stylesheet属性的cssText属性

style.styleSheet.cssText = cssText;

}

document.getElementsByTagName("head")[0].appendChild(style);

}

// 测试

var css = "body{color:blue;}";

loadStyleString(css);

以上就是告诉大家如何实现JavaScript动态加载CSS和JS文件,希望对大家的学习有所帮助。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值