[code=JScript]<div id="Reload"><script language=Javascript src=http://au.yoowan.com/ReviewContent.asp?NewsID=072712133880782 ></script></div>我试了用innerHTML重新让他载入 "<script language=Javascript src=http://au.yoowan.com/ReviewContent.asp?NewsID=072712133880782  charset=gb2312></script>"这样不行,好像不能这样嵌套,不知道有没人在不用iframe的情况下重新刷新 层 Reload 里的js呢?而且innerHTML ms只能是文本字串,如果有onclick之类的执行代码 估计也不执行。能动态刷新src就好了。给 script 加一个id 测试了下没成功。能用ajax怎么写呢?

解决方案 »

  1.   

    1.首先要确定你有没做缓存.如果有.只能把SRC路径改掉才能reload
    2.ajax可以设置不看缓存load.例如在jquery中.jQuery 代码:$.ajax({
      url: "test.html",
      cache: false,//false为不读缓存.
      success: function(html){
        $("#results").append(html);
      }
    }); 
      

  2.   

    <script language=Javascript src=http://au.yoowan.com/ReviewContent.asp?NewsID=072712133880782  charset=gb2312 id="Js"> </script>
    <input type="button" onclick="document.getElementById('Js').src=document.getElementById('Js').src+'&_dc='+new Date().getTime()" value="重新加载"/>
      

  3.   


    此楼能解决楼主问题,在需要刷新时,调用一下就可以document.getElementById('Js').src=document.getElementById('Js').src+'&'+new Date().getTime();
      

  4.   

    如果页面中会重复调用多次,注意URL会越来越长,可将原始 src 内容存入一变量,调用时引用变量var src_url="http://au.yoowan.com/ReviewContent.asp?NewsID=072712133880782";
    document.getElementById('Js').src=src_url+'&'+new Date().getTime();
      

  5.   

    如果还不行可以这样考虑,建立一个DIV,然后用innerHTML方式把JS加载进来...
      

  6.   

    谢谢诸位。
    2楼的没看明白。
    3楼和4楼的答案我马上去测试一下。期待哪位能用ajax完美解决这个问题啊。哈哈。回头来补分
      

  7.   

    经过测试以上2、3、4楼答案都无效啊。是不是我写错了呢。没有反映。是这样的。
    <div id="list">
    <script type="text/javascript" src="http://xxx.com/list/a.php?id=9&uid=788&n=8"></script>
    </div>
    这个div里面的js调用的是一个用户的评论列表,查询的是数据库,只要数据库改变(新增评论),他的展示结果就变。同时,在这个html页面有一个表单是提交评论的。这个表单提交后页面是不会刷新的。数据已经提交到数据库。
    那么这时上面的那个div里面的js地址是没变,但是所展示列表结果已经发生了改变。即增加了刚刚新提交的评论。想实现的效果是:
    表单提交后页面不刷新,数据提交到数据库这个我已经实现了,但是无法实现那个js调用的结果自动更新。
      

  8.   

    <script type="text/javascript" src="http://xxx.com/list/a.php?id=9&uid=788&n=8"> </script> 提交后变为<script type="text/javascript" src="http://xxx.com/list/a.php?id=9&uid=788&n=8&version=1"> </script> 试试...
      

  9.   


    function addListener(element, eventType, listener){
      if (element.addEventListener) {
        element.addEventListener(eventType, listener, false);
      } else if (element.attachEvent) {
        element.attachEvent('on' + eventType, listener);
      } else {
        element['on' + eventType] = listener;
      }
    }
    function makeJS(url){
    var js = document.createElement('script');
    js.type = 'text/javascript';
    js.src = url;
    return js;
    }
    // 用于页面加载完成之后,调用时需要放在HTML的底部
    function addJS(url){
    document.getElementsByTagName('head')[0].appendChild(makeJS(url));
    }
    // 用于页面加载完成之前,调用时需要放在HTML的顶部
    function loadJS(url){
    addListener(document.body, 'load',function(){
    addJS(url);
    });
    }
      

  10.   

    上面的方法都可以刷新js文件,这个js文件没有刷新就奇怪了?
    我想楼主以为,js文件刷新了,页面内容也应该同时刷新.这个想法是错误的,如果刷新的js文件仅仅传输数据,而没有执行刷新页面内容的代码,页面内容又怎么可能自己刷新呢,当然要写其它程序或调用已有的程序重新生成内容.
    请楼主看看js文件内容是否有调用刷新页面内容的代码.
      

  11.   

    不好意思我写错了,loadJS无效<html>
    <head>
    <meta content="text/html; charset=UTF-8">
    <script type="text/javascript">
    function makeJS(url){
    var js = document.createElement('script');
    js.type = 'text/javascript';
    js.src = url;
    return js;
    }

    // 用于页面加载完成之后,调用时需要放在HTML的底部,或在body的onload里
    function addJS(url){
    document.getElementsByTagName('head')[0].appendChild(makeJS(url));
    }
    </script>
    </head>
    <body onload="addJS('test.js')">
    </body>
    </html>
      

  12.   

    修正loadJS,把load事件的对象写错了function addListener(element, eventType, listener){
    if (element.addEventListener) {
    element.addEventListener(eventType, listener, false);
    } else if (element.attachEvent) {
    element.attachEvent('on' + eventType, listener);
    } else {
    element['on' + eventType] = listener;
    }
    }// 用于页面加载完成之前,调用时需要放在HTML的顶部
    function loadJS(url){
    addListener(window, 'load', function(){
    addJS(url);
    });
    }
      

  13.   

    谢谢各位朋友的帮助。在下受益匪浅。又学到了很多知识。问题已经得到解决。希望也能帮助其他人。最后采用的是 xfsnero 的方法。最后结贴给分了啊。呵呵。