JavaScript---動態加載script和style樣式


一個網頁里面的內容理解為一個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);
}

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



猜您在找 JS學習之動態加載script和style樣式 JavaScript--動態加載腳本和樣式(23) 用javascript插入