原本页面中部有一个<div id="dt"><script src="dsfds.js"></script></div>.这个script里面的内容是一条 document.write("xxxxxxxxx")语句。现在的想法是在页面完成后,再执行此script. 并且此script的内容不能修改。各位大侠,有没有什么好方法, 或者不用jquery也行。最好能说的详细点,多谢。

解决方案 »

  1.   

    页面加载完以后,你再载入这个js
    document.write的后果就是页面空白。。页面的内容会全部丢失
    因为你打开了一个新的文档流
      

  2.   


    var Browser = new Object();// 浏览器对象,判断浏览器版本
    Browser.ua = window.navigator.userAgent.toLowerCase();
    Browser.ie = /msie/.test(Browser.ua);//IE
    Browser.moz = /gecko/.test(Browser.ua);//firefox
    Browser.tt = /tencent/.test(Browser.ua);//tt
    var JsLoader = {
        load : function(sUrl, fCallback) // js装载对象
        {
            var _script = document.createElement("script");
            _script.setAttribute("type", "text/javascript");
            _script.setAttribute("src", sUrl);
            document.getElementsByTagName("head")[0].appendChild(_script);
            if (Browser.ie) {
                _script.onreadystatechange = function() {
                    if (this.readyState == "loaded"
                            || this.readyState == "complete") {
                        fCallback();
                    }
                };
            } else if (Browser.moz) {
                _script.onload = function() {
                    fCallback();
                };
            } else {
                fCallback();
            }
        }
    };
    //调用
    JsLoader.load("dsfds.js", function() {});
    腾讯上扣的。
      

  3.   

    <html>
    <head>
    <script>
    function exec(){
            var script = document.createElement('script');
    script.setAttribute('type', 'text/javascript');
    script['src'] = "dsfds.js";
    document.getElementById("dt").appendChild(script);
    };
    onload = function(){exec();}
    </script>
    </head>
    </html>
    在onload里调用,或者在$(document).ready(function(){......;exec();});这个方法写在ready运行的最后
      

  4.   

    补充:
    原本页面中部有一个<div id="dt"><script src="dsfds.js"></script></div>
    把上面这句改为<div id="dt"></div>
      

  5.   


    麻烦的就是这个地方,并且此script中的document.write是另外的生成的,改不了。晕啊。
      

  6.   

    只好直接<script src>到页面底部了。。
      

  7.   

    延迟加载好了,给你一个方法:
    window.onload=function(){
     setTimeout(" 
     var script = document.createElement('script');
     script.setAttribute('type', 'text/javascript');
     script.src = "jsName.js";
     document.getElementsByTagName("head")[0].appendChild(_script);
    ",2000);//这段是指延迟2秒加载这个js
    }