javascript实现动态加载CSS

 更新时间:2015年01月26日 09:38:16   投稿:hebedich  
最近在做自己的小框架的按需加载模块,那么就需要做到异步动态加载css文件。仔细研究了一番,得到了如下解决方案,分享给大家。

复制代码 代码如下:

<script type="text/javascript">
            function addStyle(stylePath) {
                var container = document.getElementsByTagName("head")[0];
                var addStyle = document.createElement("link");
                addStyle.rel = "stylesheet";
                addStyle.type = "text/css";
                addStyle.media = "screen";
                addStyle.href = stylePath;
                container.appendChild(addStyle);
            }
            addStyle('http://www.xxx.com/wintys/dynamic.css');
</script>

JS写的函数,用来控制JS文件的动态加载,也就是在需要的时候才加载JS文件,同时还可加载CSS文件,这样就可实现网页换肤,这觉得这个函数写的不错,认真的看下,自己在完善下,还是相当不错的。

复制代码 代码如下:

function $import(path,type,title){
var s,i;
if(!type) type=path.substr(path.lastIndexOf(".")+1);
if(type=="js"){
    var ss=document.getElementsByTagName("script");
    for(i=0;i<ss.length;i++){
        if(ss[i].src && ss[i].src.indexOf(path)!=-1 || ss[i].title==title)return ss[i];
    }
    s=document.createElement("script");
    s.type="text/javascript";
    s.src=path;
    if(title) s.title=title;
}
else if(type=="css"){
    var ls=document.getElementsByTagName("link");
    for(i=0;i<ls.length;i++){
        if(ls[i].href && ls[i].href.indexOf(path)!=-1 || ls[i].title==title)return ls[i];
    }
    s=document.createElement("link");
    s.rel="stylesheet";
    s.type="text/css";
    s.href=path;
    if(title) s.title=title;
    s.disabled=false;
}
else return;
var head=document.getElementsByTagName("head")[0];
head.appendChild(s);
return s;
}

相关文章

  • 详解webpack中的publicpath

    详解webpack中的publicpath

    这篇文章主要介绍了webpack中的publicpath,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-01-01
  • 详解JS中的attribute属性

    详解JS中的attribute属性

    Attribute是属性的意思,文章仅对部分兼容IE和FF的Attribute相关的介绍。具体内容详情大家参考下本文
    2017-04-04
  • javascript(jquery)利用函数修改全局变量的代码

    javascript(jquery)利用函数修改全局变量的代码

    现在博客系统的评论遇到一个问题,用户点击“最后一页”链接之后就自动调取最后一页的资料来显示。
    2009-11-11
  • 云开发进阶uniCloud-db组件与JQL语法的转换详解

    云开发进阶uniCloud-db组件与JQL语法的转换详解

    这篇文章主要为大家介绍了云开发进阶uniCloud-db组件与JQL语法的转换详解,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-03-03
  • JavaScript阻止浏览器返回按钮的方法

    JavaScript阻止浏览器返回按钮的方法

    这篇文章主要介绍了JavaScript阻止浏览器返回按钮的方法,可实现通过javascript禁用掉返回按钮的功能,需要的朋友可以参考下
    2015-03-03
  • javascript实现的textarea运行框效果代码 不用指定id批量指定

    javascript实现的textarea运行框效果代码 不用指定id批量指定

    今天在写一个网页的时候用到了N多嵌套在textarea标签里的代码,定义双击运行其内的代码段。但是每次创建一个这样的可运行的实例都要给textarea元素自定义一个id值和写入双击事件,好不麻烦。
    2009-12-12
  • electron实现图片的另存为功能

    electron实现图片的另存为功能

    本文主要介绍了在electron中如何实现图片的另存为操作,包括另存为按钮事件的编写,getImageType和saveAsPicture的主要代码,以及Electron进程与渲染进程的交互效果,希望能为使用electron的开发者提供帮助
    2024-10-10
  • wangEditor富文本编译器插件学习系列之工具栏配置

    wangEditor富文本编译器插件学习系列之工具栏配置

    这篇文章主要给大家介绍了关于wangEditor富文本编译器插件学习系列之工具栏配置的相关资料,wangEditor是一款基于原生JavaScript封装,开源免费的富文本编辑器,支持常规的文字排版操作、插入图片、插入视频、插入代码等功能,需要的朋友可以参考下
    2023-12-12
  • JS+CSS实现仿雅虎另类滑动门切换效果

    JS+CSS实现仿雅虎另类滑动门切换效果

    这篇文章主要介绍了JS+CSS实现仿雅虎另类滑动门切换效果,涉及JavaScript响应鼠标事件及针对页面元素的嵌套循环遍历技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-10-10
  • js 动态为textbox添加下拉框数据源的方法

    js 动态为textbox添加下拉框数据源的方法

    这篇文章主要介绍了js 动态为textbox添加下拉框数据源的方法,需要的朋友可以参考下
    2014-04-04

最新评论