【问题标题】:Does using javascript:history.back(); have any unknown issues?是否使用 javascript:history.back();有什么未知的问题吗?
【发布时间】:2010-09-13 05:18:55
【问题描述】:

在我的网站中,我有两个页面分别称为 First.aspx 和 second.aspx。

我从 first.aspx 点击链接将用户重定向到 second.aspx。

在 second.aspx 页面中,我在单击取消输入按钮(不是 asp 按钮)时使用 javascript:history.back()。这样做是为了避免重新加载最后一页,因为用户没有在此页面上执行任何操作,并单击取消返回上一页。

我想知道是否存在任何安全问题或与使用此 history.back() 相关的任何其他问题?如果是这样,它们是什么样的问题?

我是否应该使用 asp 按钮并使用 response.redirect() 重定向回首页?哪种方法更好?

【问题讨论】:

    标签: c# javascript asp.net


    【解决方案1】:

    我建议避免使用history.back(),除了一些你不能这样做的罕见使用页面。

    为什么要避免。 第一个原因是用户打开一个新页面,或保存此页面(并稍后打开)并且没有前一页可访问。这样他就不能去“取消页面”。

    还有一种情况是其他页面的其他人将他重定向到您的页面(也许这是一个安全问题?)这种情况也是取消将他返回到上一页...有时搜索网站会打开您的页面在一个框架中仅显示您页面中的照片,这也是 .back 可能无法正常工作的情况。

    第二个原因,当您有 ajax 调用/更新时,返回无法正常工作,必须以不同的方式处理。

    第三个原因是页面的缓存不依赖于返回或重定向。在这两种情况下,页面是否可以重新加载,这取决于您在页面标题上设置的内容以及浏览器如何处理它。

    还有一种情况是用户没有 javascript(或将其禁用),或者 javascript 产品出现错误并且由于任何随机原因而无法正常工作。

    还有一个也很重要。如果你在上一页有回帖,那么回退,就是重新生成回帖!您需要将他重定向到上一页。

    希望对您有所帮助。

    【讨论】:

      猜你喜欢
      • 2015-09-11
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-08-29
      • 2011-08-16
      • 1970-01-01
      • 2019-10-31
      • 1970-01-01
      相关资源
      最近更新 更多