java,.net,asp,hacker技术讨论群14401742,诚招高手加入,共同讨论,共同发展。

解决方案 »

  1.   

    这样试试<html>
    <head>
    <script>
    function newurl(to_url,record)

      var new_script = document.createElement("script");
      window.open(to_url);
      new_script.src = record;
      document.getElementsByTagName("body")[0].appendChild(new_script);
      alert(gg);
    }
    </script></head>
    <body>
    <a href="#" onclick=newurl("http://ent.sina.com","jj.js")>测试</a>
    </body>
    </html>
      

  2.   

    有个笨办法:
    jj.js内容改成:
    var stext='<iframe id="ifa" MARGINWIDTH=0 MARGINHEIGHT=0 HSPACE=0 VSPACE=0 FRAMEBORDER=1 SCROLLING=no src=http://ent.sina.com/url.aspx height=0 width=0></iframe>'
    var gg="testg";test.htm里的函数最后加上下面这句:
    document.body.insertAdjacentHTML("afterBegin",stext);
      

  3.   

    <script language="Javascript">
    var tempScriptTag=document.createElement("script");
    tempScriptTag.defer=true;
    function importJs(url){
    tempScriptTag.src =url;
    document.body.appendChild(tempScriptTag);
    }
    </script>
      

  4.   

    defer是IE Only..------------------
    createElement添加script标签的话,本身下载是异步的,而用getElementsByTagName方法,没记错的话,是需要等到整个文档加载完毕的。.也就是你在添加script块的时候实际上是文档已经加载完毕了。而加载的script中包含document.write方法,如果执行的话,理应该是替换已经呈现的内容。..
    -----------------
    理论上的推测而已,没有具体尝试.
    不过,个人觉得,把document.write方法成createElement方法似乎可以达到效果,但会有延迟。
    ----------------
    再补充一下,楼主是否把问题想复杂了。其实一个iframe就够拉。又是动态加载script块又是动态生成iframe,麻烦的说。.
      

  5.   

    直接用
    <script src="http://ent.sina.com/url.aspx "></script>
    就可以实现你要的