zoukankan      html  css  js  c++  java
  • 动态加载js,css

    今天项目中需要用到动态加载 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");
    

    这里还提供了本文的 demo ,下载、解压,如果一切正常,打开 HTML 文件,页面将弹出对话框,并呈现鲜艳的红色,这说明它已经成功地动态加载了外部的 CSS 和 JS 文件。

  • 相关阅读:
    TensorFlow(五):手写数字识别加强版
    TensorFlow(四):手写数字识别
    TensorFlow(三):非线性回归
    Apache+php搭建
    PHP基础知识(1)
    mysql8.0.11安装
    ffmpeg-20160517-git-bin-v2
    ffmpeg-20160517-git-bin
    Node.js 字体格式转换 ttf2eot ttf2woff ttf2svg
    ffmpeg-20160515-git-bin
  • 原文地址:https://www.cnblogs.com/jinhaoObject/p/4962437.html
Copyright © 2011-2022 走看看