使用JavaScript重新加载一次HTML页面

时间:2011-05-28 07:55:18

标签: javascript html iframe javascript-events

如何只重新加载一次HTML基本网页?我在body标签中使用history.go(0);函数onLoad,但我只想运行一次。请注意,我使用的是iframe,因此无法使用以下类型代码:

<script language=" JavaScript" ><!--
function MyReload()
{
window.location.reload();
}
//--></script>

<Body onLoad=" MyReload()" > 

以上代码对我不起作用

但下面的代码工作正常,但问题是我需要加载一次

<BODY BGCOLOR=#FFFFFF background="../images/Index_04.jpg" onLoad="history.go(0)" >

注意:我在用户点击主页链接时使用2个iframe,在iframe中加载页面比我想用当前iframe页面重新加载整个页面。

4 个答案:

答案 0 :(得分:5)

您可以在页面末尾使用querystring(例如?r),并在重定向之前检查它,就像它存在一样,重定向已经完成。

if(window.location.href.substr(-2) !== "?r") {
  window.location = window.location.href + "?r";
}

免责声明:我同意其他人的说法,你可能有更好的解决方案 - 而且永远不需要刷新'一次'。

使用说明

在页面底部,在</body>正上方,你应该把它放在: -

<script type="text/javascript">
   if(window.location.href.substr(-2) !== "?r") {
      window.location = window.location.href + "?r";
    }
</script>

就是这样。

答案 1 :(得分:4)

 <script type="text/javascript">
        $(document).ready(function(){

            //Check if the current URL contains '#' 
            if(document.URL.indexOf("#")==-1)
            {
                // Set the URL to whatever it was plus "#".
                url = document.URL+"#";
                location = "#";

                //Reload the page
                location.reload(true);

            }
        });
    </script> 

由于if条件,页面只会重新加载一次。希望这会有所帮助。

答案 2 :(得分:0)

我能想到的唯一方法是使用cookie(或者如果你在正确的平台上,会话)并在第一次重新加载时标记,变量也可能在这种情况下起作用,因为我们正在说话关于IFRAME,但我从未尝试过这样的事情。

答案 3 :(得分:0)

这是另一种适用于我使用localStorage的解决方案。在此解决方案中,我们不需要修改现有的URL。

<script type='text/javascript'>
 (function()
 {
  if( window.localStorage ){
    if(!localStorage.getItem('firstReLoad')){
     localStorage['firstReLoad'] = true;
     window.location.reload();
    } else {
     localStorage.removeItem('firstReLoad');
    }
  }
 })();
</script>