异步重新加载页面还是setTimeout?

时间:2013-10-18 16:43:14

标签: javascript jquery asynchronous

我有点失落。

我有两页;结果和细节。每当用户使用浏览器后退按钮从详细信息导航到结果时,结果页面应该刷新,这样我就可以显示在详细信息上看到的产品用户(就像亚马逊最近查看的项目一样)

我不知道加载页面asynchronously是否更好,  或者使用setTimeout看作here(以下示例有效,但页面永远刷新)

   if(window.top==window) {
   // you're not in a frame so you reload the site
   window.setTimeout('location.reload()', 3000); //reloads after 3 seconds
   } else {
   //you're inside a frame, so you stop reloading
   }

当我尝试重新加载时,只是一个div也不起作用

   $('#div-id').triggerevent(function(){
   $('#div-id').html(newContent);
   });

我也遇到过很多导致this的例子,但没有成功。 任何建议都是受欢迎的。 谢谢

2 个答案:

答案 0 :(得分:1)

当用户点击后退按钮时,应触发onload事件。不是通过JavaScript创建的元素将保留其值。我建议在INPUT TYPE =“hidden”或TEXTAREA设置中显示动态创建的元素中使用的数据的备份:none然后onload使用文本框的值来重建动态元素的方式。

如果您不关心重建页面并想要重新加载它,那么您可以这样做:

<input type="hidden" id="refreshed" value="no">
<script type="text/javascript">
onload=function(){
var e=document.getElementById("refreshed");
if(e.value=="no")e.value="yes";
else{e.value="no";location.reload();}
}
</script>

答案 1 :(得分:-1)

我相信你应该异步重新加载页面。 将事件ready附加到身体上可能会有效。

  $(function(){

    $('body').ready(function(){
      alert('worked');
      //Code to reload the page or data 
    });

  });