0

当用户单击返回按钮时,我可以重新加载当前页面吗?我会给你一个我的问题的背景,以了解我为什么要这样做。我有一个 asp.net web 应用程序 3.5 框架,可将生成的 pdf 文件显示到 ajax modalpop。完成这项任务并不容易,因为我遇到了一些跨浏览器问题,并设法处理了所有这些问题,只给我留下了一个问题。我设法在 ajax modalpopup 中的 iframe 上显示 pdf 文件,并且此设置与 Chrome、Firefox、Safari 和 Opera 兼容,但在 IE 上不兼容。我设法使用 response.binarywrite 在 IE9 64bit 上找到了一个解决方案,并且 pdf 文件将显示在 Adob​​e Acrobat Reader(v11 和 v10)的新实例上,但在 IE9 32bit 上,这不是它呈现 pdf 的方式,它呈现在当前页面本身我不 不想那样做,当用户单击浏览器的后退按钮时,它将重定向到最后访问的页面,而不是我单击按钮以显示 pdf 的页面上。我知道,通过查看浏览器,它仍然在触发加载 pdf 的当前页面上。现在可以通过单击后退按钮重新加载当前页面,并将其重新加载到 pdf 文件不可见的页面上。请参阅下面的代码以了解我到目前为止所做的事情。现在可以通过单击后退按钮重新加载当前页面,并将其重新加载到 pdf 文件不可见的页面上。请参阅下面的代码以了解我到目前为止所做的事情。现在可以通过单击后退按钮重新加载当前页面,并将其重新加载到 pdf 文件不可见的页面上。请参阅下面的代码以了解我到目前为止所做的事情。

<script type="text/javascript">
  window.onunload = function {
     alert(document.URL);
     window.location = document.URL;
     window.history.go(-1);
  }
</script>

当我尝试返回浏览器但下面的代码没有执行时,警告框提示,可能它已执行但对页面没有影响。请我真的需要帮助提前谢谢。

4

4 回答 4

1
function SetCookie (name, value) {
var argv=SetCookie.arguments;
 var argc=SetCookie.arguments.length;
 var expires=(argc > 2) ? argv[2] : null;
 var path=(argc > 3) ? argv[3] : null;
 var domain=(argc > 4) ? argv[4] : null;
 var secure=(argc > 5) ? argv[5] : false;
 document.cookie=name+"="+escape(value)+
  ((expires==null) ? "" : ("; expires="+expires.toGMTString()))+
((path==null) ? "" : ("; path="+path))+
((domain==null) ? "" : ("; domain="+domain))+
((secure==true) ? "; secure" : "");

}

 function getCookie(c_name)
 {
var c_value = document.cookie;
var c_start = c_value.indexOf(" " + c_name + "=");
if (c_start == -1)
{
    c_start = c_value.indexOf(c_name + "=");
}
if (c_start == -1)
{
    c_value = null;
}
else
{
    c_start = c_value.indexOf("=", c_start) + 1;
    var c_end = c_value.indexOf(";", c_start);
    if (c_end == -1)
    {
        c_end = c_value.length;
    }
    c_value = unescape(c_value.substring(c_start,c_end));
}
return c_value;
 }   




 if (getCookie('first_load'))        
 {
if (getCookie('first_load')==true)
{
    window.location.reload(true); // force refresh page-liste
    SetCookie("first_load",false);
}
 }
  SetCookie("first_load",true);
于 2013-11-14T15:47:42.290 回答
0

我不完全理解您要实现的目标,但可能的解决方案是最初将用户发送到一个 html 页面,该页面的唯一目的是将用户重新路由到所需的页面。当他们点击后退按钮时,它会将他们带到这个重新路由的 html 页面,基本上将他们置于一个循环中。

于 2013-03-07T09:04:43.370 回答
0

我正在使用这种技术..

angular.element(document).ready(function() {
  var State = History.getState();
  //........ now use State variable 
});

希望这会帮助你。:-)

于 2015-06-11T15:39:26.537 回答
0

这里:

<script>    
history.pushState(null, null, document.URL);
   window.addEventListener('popstate', function () {
   history.pushState(null, null, document.URL);
   location.reload();
});
</script>
于 2017-07-18T15:05:28.747 回答