如何判断用户是否点击了浏览器后退按钮或刷新按钮

2024-01-08

我需要确定用户是否单击浏览器后退按钮或刷新按钮。

当他单击后退或刷新按钮时,我需要将页面重定向到错误页面。这个怎么做。

我需要在 ASP.net 页面的 javascript 中执行此操作


首先,如果用户使用“后退”或出于某种原因必须刷新页面,则给出错误消息是一个非常糟糕的主意。相反,你应该透明地处理这个问题。考虑一下由于传输级别的问题而导致页面未完全显示的情况 - 用户唯一的选择是重新加载或返回。

要回答您的问题,您必须自己跟踪用户的导航,这意味着在服务器端。忘记这里的java脚本吧。如果用户访问网站,您可以将该信息存储在与该用户关联的会话中(有多种方法可以保留这些唯一的会话,这里不再详细介绍)。 如果您将用户最近访问过的页面存储在内部结构中,则很容易确定某个页面被访问了两次,或者导航进入了“错误”方向。

您可以通过构建“允许”导航图并在用户访问时遍历它来轻松概括这一点(并使整个事情更加稳健,例如防止用户在网址之间疯狂跳转,或一次返回多个步骤)网站。

如果用户执行“错误”导航(例如后退、重新加载==访问两次),正确的行为是让他回到正轨。不给错误信息他就无法逃脱!由于不允许他重新加载或返回,他别无选择。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何判断用户是否点击了浏览器后退按钮或刷新按钮 的相关文章

随机推荐

  • 是否允许在 iPhone 应用商店应用程序中包含 libCurl?有人做过这个吗?

    我想在应用程序中使用 libCurl 来与 Web 服务通信 不幸的是它没有包含在 iPhone SDK 中 现在我已经弄清楚如何将 Curl 作为静态库包含在我的应用程序中 但是 我想知道这是否会让我的应用程序被 Apple 拒绝 有没有
  • 如何防止 Phonegap 应用程序切换到横向视图

    这应该很简单 但事实并非如此 我试图阻止我的应用程序进入横向视图 所以我改变了config xml像这样的文件
  • Jquery 自动完成与 Jade/Pug

    我需要这个案例的帮助 即将在 Jade Pug 中实现 Jquery 自动完成 尽管现在显示错误 但自动完成的结果不会显示在表单中 Actual 没有错误 但输入时的数据未按预期显示 Expect 当我输入时 数据以 combine 形式显
  • Spring JUnit4 手动/自动装配困境

    我遇到了一个问题 这个问题只能用我对 Spring 的 IoC 容器设施和上下文设置的根本缺乏理解来解释 所以我想要求对此进行澄清 仅供参考 我维护的一个应用程序具有以下技术堆栈 Java 1 6 春季2 5 6 RichFaces 3 3
  • 如何在 Yii2 中手动在数据库中创建用户?

    我将用户从 csv 文件导入到数据库中 在 csv 文件中 我有一些用户名和密码字符串 那么如何手动创建新用户呢 据我了解我需要getPasswordHash and generateAuthKey 最后一个生成随机字符串 但可能我丢失了一
  • 如何将.fs文件编译为.exe?

    我没有找到将简单文件 fs 编译为 exe 的方法 我尝试了这个例子 但它不起作用 在文件 dolphin fs 中 let longBeaked Delphinus capensis let shortBeaked Delphinus d
  • XHTML 网站抓取指南

    我对 VBA 和 HTML XHTML 非常陌生 但是通过在线研究和这里其他优秀成员的帮助 我已经成功编写了一段代码来提取我想要的数据 我很难识别我想要的元素的 ID 因为它是 XHTML 格式的 所以我认为这是我搞砸的地方 网站 这是我想
  • 弱属性需要大量开销?

    在大约 100 000 次 setDelegate 调用后 我的 iOS 应用程序在 setDelegate 上停滞了大约 15 秒 将委托属性从弱更改为分配可以解决该问题 知道为什么弱属性有如此多的开销并导致应用程序停止运行吗 我怀疑弱引
  • 如何检查字节数组是否是有效图像?

    我知道没有用于检查的 Net 函数 但是在使用字节数组之前是否有一种算法或简单有效的方法来检查字节是否是有效图像 我需要这个 因为我要向不断监听客户端的服务器发送不同的命令 其中一个命令是获取服务器计算机的屏幕截图 您可以尝试从字节数组生成
  • ExecuteNonQuery() 始终返回 -1

    我正在使用存储过程在表中插入一些值 CREATE PROCEDURE dbo Sp InsertValue Val1 as nvarchar 50 Val2 as nvarchar 50 as BEGIN IF NOT EXISTS SEL
  • 如何向 Meteor.users 集合添加字段

    我想要存储在客户端用户文档中的 Facebook accessToken 继流星文档 http docs meteor com meteor users 我应该添加一个新的发布调用 在 server js 中 Meteor publish
  • Curl 发送 .tar.gz 文件时出现错误 56“从对等方接收数据时失败”

    我对这个 CURL 调用有问题 curl X POST data binary File01 tar gz http website intra prova it gore orgac PINGU TEST lots Test 017 co
  • Ruby Guard 问题 - “请安装 sqlite3 适配器” -railstutorial.org

    我正在跟随Ruby on Rails 教程 http ruby railstutorial org 并且在测试部分有些困惑 特别是 3 6 2 使用 Guard 进行自动化测试 http ruby railstutorial org cha
  • 从 Ubuntu 中删除 chromedriver

    我想更新按照此说明安装的 chromedriver 版本https christopher su 2015 selenium chromedriver ubuntu https christopher su 2015 selenium ch
  • 使用 jersey ServletContainer 时从 web.xml 获取配置数据

    我正在使用 jersey 在 Tomcat 中创建一个 web 应用程序 我还没有创建 Servlet 我只是使用 jersey ServletContainer 和一些 Resource 类 我的 web xml
  • 在 mac bash 终端中使用 shell 命令时出现“非法字节序列”错误

    尝试在 MacOS bash shell 中从大文件中提取非英文字符时出现 非法字节序列 错误 这是我尝试使用的脚本 sed s a z 0 9 A Z g lt 1 gt Abhineet extract1 txt sed s 1 g
  • 将不同的集合绑定到数据网格

    我有一些收藏 例如 List 1 and List 2 两者都是List 我需要做什么 1 将它们插入Datagrid 2 添加新项目Lists 例如 表单上有一些按钮 我单击它 新项目将添加到第一个列表中 Datagrid现在看起来像这样
  • 如何在 C 中将结构存储和检索到共享内存区域

    对于uni分配 我需要创建一个最多包含10个文件名的循环列表 然后将它们存储在共享内存区域中 以便2个子进程可以读取 写入该列表 使用信号量来控制访问 问题是 我是一个完全的 C 新手 我感到失落和绝望 因为它完全超出了我的能力范围 我需要
  • 如何查询 Google BigQuery 表并根据列的子集删除重复项?

    我有一个查询连接两个 google 表并生成一个包含 6 列的表 a b c d e f 接下来 我将该表移至 google 存储桶 然后将该 google 存储桶下载到一堆 CSV 最后我将这些 CSv 插入到postgres数据库表有2
  • 如何判断用户是否点击了浏览器后退按钮或刷新按钮

    我需要确定用户是否单击浏览器后退按钮或刷新按钮 当他单击后退或刷新按钮时 我需要将页面重定向到错误页面 这个怎么做 我需要在 ASP net 页面的 javascript 中执行此操作 首先 如果用户使用 后退 或出于某种原因必须刷新页面