日期:2014-05-16  浏览次数:20536 次

js定时刷新HTML主框架?
我想实现的是HTML混合框架集加载完毕后,待3秒后就刷新(重加载)一次主框架。
问题下面的代码里的注释:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script src="Scripts/jquery-1.4.1.min.js" type="text/javascript"></script>
    <script type="text/javascript">
        $(document).ready(function () {
            /* 
            当Main.htm运行后,为什么它会间隔3秒就刷新一次?
            其实,我的意图是:当Main.htm主框架集运行后,待3秒后就刷新一次,且就仅仅刷新一次。
            并且我也使用了setTimeout这个函数(它仅执行一次的),为什么会不管用?是不是框架问题?
            如何做到我的意图? 
            */
         setTimeout("window.location.href('Main.htm')", 3000); 
        });
        
    </script>
</head>
<!--下面是HTML混合框架集,上下左右经典布局-->
<frameset rows="20%,*">
<frame name="top" src="Top.htm" />
<frameset cols="20%,*">
  <frame name="Left" src="Left.htm"/>
  <frame name="Right" src="Right.htm"/>
</frameset>
</frameset>
<noframset>
<body>
</body>
</noframset>

</html>



感谢帮助! 
------解决方案--------------------
window.onload=function(){
  setTimeout("location.reload()", 3000);
}

------解决方案--------------------
你这样写,整个页面都刷新了一次,页面自然会重新加载一次,然后又开始计数,再刷新再计数。。。你得做一个全局变量(比如COOKIE),记录是否执行过一次,如果执行过就放弃再执行
------解决方案--------------------
var Cookie = {
  set: function(name,value){
        var Days = 30;
        var exp  = new Date();
        exp.setTime(exp.getTime() + Days*24*60*60*1000);
        document.cookie = name + "="+ escape (value) + ";expires=" + exp.toGMTString();
  },
  get: function(name){
        var arr = document.cookie.match(new RegExp("(^
------解决方案--------------------
 )"+name+"=([^;]*)(;
------解决方案--------------------
$)"));
        if(arr != null){
            return (arr[2]);
        }else{
            return "";
        }
  },
  del: function(name){
 &nbs