动态 导入 css/javascript 文件

函数:
import导入文件的路径、类型、和title,title用来标识你是否已导入这个文件用。
setStyle用于使导入的css有效,根据不同的浏览器,可能css生效的条件不同,反复无效与有效间切换,可以使得最后有效。
 1 function  $import(path, type, title)  {
 2    var s, i;
 3    if (type == "js"{
 4        var ss = document.getElementsByTagName("script");
 5        for (i = 0; i < ss.length; i++{
 6            if (ss[i].src && ss[i].src.indexOf(path) != -1{
 7                return;
 8            }

 9        }

10        s = document.createElement("script");
11        s.type = "text/javascript";
12        s.src = path;
13    }
 else {
14        if (type == "css"{
15            var ls = document.getElementsByTagName("link");
16            for (i = 0; i < ls.length; i++{
17                if (ls[i].href && ls[i].href.indexOf(path) != -1{
18                    return;
19                }

20            }

21            s = document.createElement("link");
22            s.rel = "alternate stylesheet";
23            s.type = "text/css";
24            s.href = path;
25            s.title = title;
26            s.disabled = false;
27        }
 else {
28            return;
29        }

30    }

31    var head = document.getElementsByTagName("head")[0];
32    head.appendChild(s);
33}

34
35 function  setStyle(title)  {
36    var i, links, eflag = false;
37    links = document.getElementsByTagName("link");
38    for (i = 0; links[i]; i++{
39        if (links[i].getAttribute("rel").indexOf("style"!= -1 && links[i].getAttribute("title")) {
40            links[i].disabled = true;
41            if (links[i].getAttribute("title").indexOf(title) != -1{
42                links[i].disabled = false;
43                eflag = true;
44            }

45        }

46    }

47    if (!eflag) {
48        $import("skin/" + title + "/default.css""css", title);
49        setStyle(title);
50    }

51}

你可能感兴趣的:(动态 导入 css/javascript 文件)