区分按钮单击和javascript页面重新加载

时间:2015-10-26 14:59:08

标签: javascript asp.net .net vb.net

我正在尝试区分页面点击和自动重新加载。自动重新加载是通过以下javascript完成的。​​

root

我正在尝试在上面的代码中设置一个隐藏变量,我正在尝试检查var pageReload = { Initialize: function () { window.setTimeout("location.reload(true);", 60000); } pageReload.Initialize(); 中更改的值,以了解页面点击和自动重新加载之间的区别。

Page_PreRender

在PreRender之后加载javascript,我确定如何继续。

有什么想法吗?

3 个答案:

答案 0 :(得分:0)

当您的函数重新加载页面时,您总是可以使用localStorage来留下面包屑:

localStorage.setItem( 'page-reloaded', 'true' );

加载页面时,请检查面包屑:

var reloaded = localStorage.getItem('page-reloaded') || false;

然后清理:

localStorage.removeItem('page-reloaded');

答案 1 :(得分:0)

您可以添加"重新加载"而不只是执行reload()。 URL的参数。如果我们使用this answer中的replaceUrlParam()函数,我们可以说:

var pageReload = {
  Initialize: function () {
    window.setTimeout(
      function() {
        var url = replaceUrlParam(window.location.href, 'reloaded', '1');
        window.location.href = url;
      },
      60000
    );
  }
}
pageReload.Initialize();

现在,当页面被自动重新加载(并且只有那时)时,查询字符串将包含" reloaded = 1"。

答案 2 :(得分:0)

感谢您的回复。

因为我使用的是asp.net,所以我能够从Request对象中捕获上一页单击URL,并从那里确定这是页面自动重新加载还是按钮点击。查询字符串重新加载选项也很棒,但我们并不想将其暴露给用户。这个解决方案适合我的情况。