javascript基础:动态加载脚本和样式
来源:互联网 发布:金蝶软件年销售额 编辑:程序博客网 时间:2024/05/09 15:49
一、动态加载js代码或脚本
当网站需求变大,脚本的需求也逐步变大。我们就不得不引入太多的JS脚本而降低了整站的性能,所以就出现了动态脚本的概念,在适时的时候加载相应的脚本。
比如:我们想在需要检测浏览器的时候,再引入检测文件。
var flag = true;//设置一个是否加载js脚本的标记,当需要加载的时候设置为true;if(flag){ //加载js的代码 var text = document.createTextNode("alert('lee')"); var script = document.createElement('script'); script.type = 'text/javascript'; script.appendChild(text);//IE是不支持script元素的append child方法的 var head = document.getElementsByTagName('head')[0]; head.appendChild(script);}
PS:IE浏览器认为script是特殊元素,不能在访问子节点。为了兼容,可以使用text属性来代替。
script.text = "alert('')"; //IE 可以支持了。
方法二:通过连接的方式动态加载js脚本
var flag = true;//设置一个是否加载js脚本的标记,当需要加载的时候设置为true;if(flag){ loadScript('xxx.js');}//加载js脚本的方法function loadScript(jsUrl){ //加载js脚本 var script = document.createElement('script'); script.type = 'text/javascript'; script.src = jsUrl; var head = document.getElementsByTagName('head')[0]; head.appendChild(script);}
二、动态样式
为了动态的加载样式表 ,比如切换网站皮肤 。样式表有两种方式进行加载 ,一种是<link>标签,一种是<style>标签。
var flag = true;if (flag) { var style = document.createElement('style'); style.type = 'text/css'; //var box= document.createTextNode(#box{background:red}'); //IE 不支持 //style.appendChild(box);document.getElementsByTagName('head')[0].appendChild(style); insertRule(document.styleSheets[0], '#box', 'background:red', 0);}function insertRule(sheet, selectorText, cssText, position) {//如果是非 IE if (sheet.insertRule) { sheet.insertRule(selectorText + "{" + cssText + "}", position); }//如果是 IE else if (sheet.addRule) { sheet.addRule(selectorText, cssText, position); }}
方法二:通过连接的方式动态加载css脚本
var flag = true;if (flag) { loadStyles('basic.css');} function loadStyles(url) { var link = document.createElement('link'); link.rel = 'stylesheet'; link.type = 'text/css'; link.href = url; document.getElementsByTagName('head')[0].appendChild(link);}
0 0
- javascript基础:动态加载脚本和样式
- JavaScript 动态加载脚本和样式
- javascript动态加载脚本和样式
- 【JavaScript】动态加载脚本和样式
- JavaScript学习10:动态加载脚本和样式
- JavaScript 动态加载脚本和样式的方法
- javaScript笔记(十九) 动态加载脚本和样式
- javascript笔记--(第二十三章)动态加载脚本和样式
- 动态加载脚本和样式
- 动态加载脚本和样式
- [23]动态加载脚本和样式
- javascriptの动态脚本和样式
- 动态加载脚本和样式表函数的简单封装
- 如何动态加载Javascript脚本
- 动态加载外部 css和javascript脚本 文件
- 动态添加脚本和样式
- javascript中动态加载js、vbs脚本或者css样式表
- DOM中的动态脚本和动态样式
- 前景检测算法(六)--平均背景原理
- APICloud平台的融云2.0优化
- 共享一个phpstrom10破解版安装包
- android 6.0 healthd vold接收uevent
- iOS数据持久化1
- javascript基础:动态加载脚本和样式
- idea 使用tomcat打指定包到tomcat
- Android系统启动过程
- 帝国CMS修改[!----morepic--] 图集默认显示模板格式
- Windows驱动开发之线程与同步事件
- IntelliJ IDEA 15.0.3设置自动刷新
- nginx的windows环境下安装与参数解释
- 集训第一天
- Dubbo 分布式服务框架 教程