你可以在a.js中动态导入b.js:代码如下:
function loadJSFile(jsSrc) {
var head = document.getElementsByTagName("head")[0];
var scripts = head.getElementsByTagName("SCRIPT");
for (var i = 0; i < scripts.length; i++) {
var src = scripts[i].src;
if (src == jsSrc) {
return false;
}
}
var script = document.createElement("SCRIPT");
script.language = "javascript";
script.src = jsSrc;
script.defer = true;
head.appendChild(script);
return true;
}
在初始化的时候调用上面的函数

解决方案 »

  1.   

    script.defer = true;
    这个是IE ONLY。
      

  2.   

    //引用js/css文件;
    function include(path,type,title){
    var s,i,t;
    if(arguments.length < 1){
    return ;
    }
    if(arguments.length == 1){
    type = "js";
    }
    switch(type.toLowerCase()){
    case "css":
    t = document.getElementsByTagName("link");
    for(i=0;i<t.length;i++){
    if(t[i].href && t[i].href.indexOf(path)!=-1){
    return;
    }
    }
    s=document.createElement("link");
    s.rel="alternate stylesheet";
    s.type="text/css";
    s.href=path;
    s.title=title;
    s.disabled=false;
    break;
    case "js":
    case "javascript":
    default:
    t = document.getElementsByTagName("script");
    for(i=0;i<t.length;i++){
    if(t[i].src && t[i].src.indexOf(path)!=-1){
    return;
    }
    }
    s=document.createElement("script");
    s.type="text/javascript";
    s.src=path;
    break;
    }
    var h=document.getElementsByTagName("head")[0];
    h.appendChild(s);
    }
      

  3.   

    // 包含文件 用法:
    function $import(path,type,title){
    var s,i;
    if(type=="js")
    {
    var ss=document.getElementsByTagName("script");
    for(i=0;i<ss.length;i++){
    if(ss[i].src && ss[i].src.indexOf(path)!=-1)return;
    }
    s=document.createElement("script");
    s.type="text/javascript";
    s.src=path;
    }else if(type=="css")
    {
    var ls=document.getElementsByTagName("link");
    for(i=0;i<ls.length;i++){
    if(ls[i].href && ls[i].href.indexOf(path)!=-1)return;
    }
    s=document.createElement("link");
    s.rel="alternate stylesheet";
    s.type="text/css";
    s.href=path;
    s.title=title;
    s.disabled=false;
    }
    else return;
    var head=document.getElementsByTagName("head")[0];
    head.appendChild(s);
    }
      

  4.   

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"><html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
    <head>
    <title>Javascript includes - ready state and onload</title><script type="text/javascript">var css;
    function include_css(css_file) {
        var html_doc = document.getElementsByTagName('head')[0];
        css = document.createElement('link');
        css.setAttribute('rel', 'stylesheet');
        css.setAttribute('type', 'text/css');
        css.setAttribute('href', css_file);
        html_doc.appendChild(css);    // alert state change
        css.onreadystatechange = function () {
            if (css.readyState == 'complete') {
                alert('CSS onreadystatechange fired');
            }
        }
        css.onload = function () {
            alert('CSS onload fired');
        }    return false;
    }
    var js;
    function include_js(file) {
        var html_doc = document.getElementsByTagName('head')[0];
        js = document.createElement('script');
        js.setAttribute('type', 'text/javascript');
        js.setAttribute('src', file);
        html_doc.appendChild(js);    js.onreadystatechange = function () {
            if (js.readyState == 'complete') {
                alert('JS onreadystate fired');
            }
        }    js.onload = function () {
            alert('JS onload fired');
        }    return false;
    }
    </script>
    </head>
    <body>        <h1>javascript includes testing - testing readyState and onload</h1>
            This is a test file, part of the second follow up to the "<strong>javascript includes</strong>" article.
            <br />
            To see the article, <a href="http://www.phpied.com/javascript-include">click here</a>.
            To see the follow-up article, <a href="http://www.phpied.com/javascript-include-ready">click here</a>.
            To see the second follow-up article, <a href="http://www.phpied.com/javascript-include-ready-onload">click here</a>.
            <p>
            </p>
            <ul>
                <li style="cursor: pointer" onclick="include_css('1.css')">Click to load 1.css</li>
                <li style="cursor: pointer" onclick="include_js('jsalert.js')">Click to load jsready.js</li>
            </ul></body>
    </html>