JavaScript---动态加载script和style样式

2019-05-13 07:14:24来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

一个网页里面的内容理解为一个XML或者说网页本身也就是一个XML文档,XML文档都有很特殊的象征:"标签"也叫"节点"。

一个基本的网页格式

<!DOCTYPE />
<head></head>
<body><body />

这些是最基本的形态,但是其实它省略了最外面的一个标签<document>

<document>
      <!DOCTYPE />
      <head></head>
      <body><body/>
</document>

这其实才是它的本来面目(默认把document标签给省略了)。document.body 或者docment.head,无论你的什么操作只要是有关于这个<document>标签的你跟可以利用document获得,因为它是根。网页文档中任何存在在<document>标签里面都是可以获得的,所有的节点其实都是已经被分类好,但它们的nodeType和nodeName不一样而已。

代码写法一:

function loadScript(url, callback) {
    var script = document.createElement("script");
    script.type = "text/javascript";
    if (typeof (callback) != "undefined") {
        if (script.readyState) {
            script.onreadystatechange = function () {
                if (script.readyState == "loaded" || script.readyState == "complete") {
                    script.onreadystatechange = null;
                    callback();
                }
            };
        } else {
            script.onload = function () {
                callback();
            };
        }
    };
    script.src = url;
    document.body.appendChild(script);
}

写法二:

function loadScript(){
  var script=document.createElement("script");
  script.type="text/javascript";
  script.src=null 
try{
 script.appendChild(document.createTextNode("//code"));     //javascript内容是利用createTextNode创建的(不过IE不认这个)
}catch(ex){
script.text="//code";                                                                //IE认为SCRIPT节点是个特殊的节点所有有个特殊的text属性
}
  document.body.appendChild(script);   /*兼容IE*/
}

 

动态加载样式:

// 动态记载样式
function loadStyle(){
  var style=document.createElement("style"); 
  style.type="text/css";  //参考网页上的style样式,他怎么写你怎么写
  style.href="style.css";
try{
   style .appendChild(document.createTextNode("//style code")); 
}catch(ex){
   style.styleSheet.styleText="//style code";    /*兼容IE*/        //IE也认为style节点是个特殊的节点所有有个特殊的styleSheet.styleText属性 - -
}
 
 var head=document.getElementByTagName("head")[0];        
  head.appchild(link);
}

 


原文链接:https://www.cnblogs.com/yangzhengier/p/10848961.html
如有疑问请与原作者联系

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:从零开始制作cli工具,快速创建项目脚手架

下一篇:JavaScript动态加载script方式引用百度地图API 拓展---Java