如何实现JavaScript动态加载CSS和JS文件

html-css07

如何实现JavaScript动态加载CSS和JS文件,第1张

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

iframe每个页面加载css js如下:

1、动态加载js,css文件(用原生js和jquery) iframe结构: frame0(父) frame

2(子) frame

3(子) frame2中触发事件,动态的向frame3中 加载js、css文件和 dom元素? *同级之间可以调用。

可以 通过 子-父-子 的方式调用同级 parent.parentFram(“这个方法在调用其他子farme”)1.jquery的append() 代码如下: 速度快,同步(需要引入jquery) var oBody = document.getElementById(“frame3_id”).contentWindow.$(“body”)va