html动态加载css样式和js脚本示例

  发布时间:2014-04-16 16:12:32   作者:佚名   我要评论
这篇文章主要介绍了html动态加载css样式和js脚本示例,需要的朋友可以参考下

一、动态加载脚本

当网站需求变大,脚本的需求也逐步变大。我们就不得不引入太多的 JS 脚本而降低了整站的性能,所以就出现了动态脚本的概念,在适时的时候加载相应的脚本。
比如:我们想在需要检测浏览器的时候,再引入检测文件。


复制代码
代码如下:

<script type="text/javascript">
window.onload = function(){
alert(typeof BrowserDetect);
}
var flag = true; //设置 true 再加载
if (flag) {
loadScript('browserdetect.js'); //设置加载的 js
}
function loadScript(url) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.src = url;
//document.head.appendChild(script); //document.head 表示<head>
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>动态执行 js</p> <p>
<script type="text/javascript">
window.onload = function(){

}
var flag = true; //设置 true 再加载
if (flag) {
var script = document.createElement('script');
script.type = 'text/javascript';
var text = document.createTextNode("alert('Lee')"); //IE6,7,8 浏览器报错
script.appendChild(text);
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>IE 6,7,8浏览器认为 script 是特殊元素,不能在访问子节点。为了兼容,可以使用 text属性来代替。</p> <p>
<script type="text/javascript">
window.onload = function(){

}
var flag = true; //设置 true 再加载
if (flag) {
var script = document.createElement('script');
script.type = 'text/javascript';
script.text = "alert('Lee')";
script.appendChild(text);
document.getElementsByTagName('head')[0].appendChild(script);
}
</script>需要做所有浏览器兼容

二、动态加载样式

为了动态的加载样式表,比如切换网站皮肤。样式表有两种方式进行加载,一种是<link>标签,一种是<style>标签。

动态执行 link


复制代码
代码如下:

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);
}

   
动态执行 style


复制代码
代码如下:

<script type="text/javascript">
var flag = true;
if (flag) {
var style = document.createElement('style');
style.type = 'text/css';
//var box= document.createTextNode('#box{background:red}');// IE6,7,8 不支持
//style.appendChild(box);
document.getElementsByTagName('head')[0].appendChild(style);
insertRule(document.styleSheets[0], '#box', 'background:red', 0);
}
function insertRule(sheet, selectorText, cssText, position) {
//如果是非 IE6,7,8
if (sheet.insertRule) {
sheet.insertRule(selectorText + "{" + cssText + "}", position);
//如果是 IE6,7,8
} else if (sheet.addRule) {
sheet.addRule(selectorText, cssText, position);
}
}
</script>

相关文章

  • HTML外部样式表如何引入CSS样式

    这篇文章主要介绍了HTML外部样式表如何引入CSS样式,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习
    2020-12-10
  • HTML基础知识——css样式表,样式属性,格式与布局详解

    下面小编就为大家带来一篇HTML基础知识——css样式表,样式属性,格式与布局详解。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-11
  • HTML基础必看——全面了解css样式表

    下面小编就为大家带来一篇HTML基础必看——全面了解css样式表。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-11
  • HTML (css样式规范)必看篇

    下面小编就为大家带来一篇HTML (css样式规范)必看篇。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-06-27
  • 将html标签在浏览器居中显示的css样式

    在布局过程中为了某些需求,将html标签在浏览器居中显示是很常见的做法,下面有个不错的示例,大家可以参考下
    2014-04-15
  • 通过CSS样式实现的html背景色渐变效果

    在html中可以轻松实现背景色渐变的下面是一个通过CSS实现的示例,大家若感兴趣,可以参考下
    2014-03-24
  • html 隐藏div HTML里隐藏表格TABLE或者DIV内容的css样式

    突然想起几年前用过的一个隐藏样式代码,有些时候用它非常方便,比如想让某块表格TABLE或者DIV里的内容完全看不到,那就加上他,嘿嘿,就隐身了,需要的朋友可以了解下
    2012-12-21
  • XHTML语言默认的CSS样式

    html,address, blockquote, body,dd,div, dl,dt,fieldset,form, frame,frameset, h1,h2,h3,h4, h5,h6,noframes, ol,p,ul,center, dir,hr,menu,pre { display:block} li {
    2008-10-17
  • HTML嵌入CSS样式的四种实现方法

    CSS 样式既可以作为单独的文件(.css类型的文件)引入到 HTML 文档中,本文主要介绍了HTML嵌入CSS样式的四种实现方法,具有一定的参考价值,感兴趣的可以了解一下
    2023-11-03

最新评论