工作中一些比较奇怪的产品需求笔记

简介: 1.要求登录以后点击浏览器返回以后再点返回需要重新登录;这个本来是浏览器默认的一些缓存,当时也是在网上各种百度  解决问题思路 :当时经过反复的测试,发现每次浏览器返回之后会重新加载一次页面js;但是不会给服务器发请求;也就是从后台没办法控制‘     然后给windos设置了一个全局变量;每次...

1.要求登录以后点击浏览器返回以后再点返回需要重新登录;这个本来是浏览器默认的一些缓存,当时也是在网上各种百度

  解决问题思路 :当时经过反复的测试,发现每次浏览器返回之后会重新加载一次页面js;但是不会给服务器发请求;也就是从后台没办法控制‘

     然后给windos设置了一个全局变量;每次加载的时候判断这个全局变量,如果不满足这个条件则直接让系统退出登录;

//页面后退后直接退出事件
if(window.name == "" ){

  window.name = "bencalie";
  }else{

  window.location.href="logout";
    window.name = "";
  }

  问题解决了。但是又出现了一下心得问题。欣慰每次加载都会判断这个变量,。导致浏览器刷新也会退出系统;

然后想方设法的去捕捉浏览器刷新的事件。又是各种百度。结果并没有什么用;把f5这个按键刷新倒是屏蔽了。可是浏览器点击刷新根本捕捉不完整;

为了解决这个问题也是心累了,左想右想也没解决;然后从头开始整理

  浏览器返回和前进不会请求服务器,但是会重新加载js;但是浏览器刷新会发起服务器请求;

  然后就看了一下浏览器发请求到登录成功的时间。再看了一下浏览器返回再前进的时间;然后就设了一个时间戳;判断这个时间戳的大小,发现在我这个项目是可行的

  步骤  1.发起请求的时候传一个时间戳到前端页面保存;这样只有刷新页面的时候才会更新时间戳;浏览器返回前进的时候并不会更新时间戳;在js加载的时候获取当前时间;

一般服务器更新了这个时间戳的话,。他们差值就会很小;如果没有更新,。但是又要重新加载页面;那基本上就可以判断为是浏览器的前进和后退了

问题解决

 

      var timestamp = (new Date()).getTime();//获取当前时间。和浏览器传过来的时间,如果差值大于3秒,则直接退出系统
            if(timestamp-$("#data").val()>=3000){
                  window.location.href="logout"; 
                }
            

 

目录
相关文章
|
4月前
|
C# 开发者 Windows
勇敢迈出第一步:手把手教你如何在WPF开源项目中贡献你的第一行代码,从选择项目到提交PR的全过程解析与实战技巧分享
【8月更文挑战第31天】本文指导您如何在Windows Presentation Foundation(WPF)相关的开源项目中贡献代码。无论您是初学者还是有经验的开发者,参与这类项目都能加深对WPF框架的理解并拓展职业履历。文章推荐了一些适合入门的项目如MvvmLight和MahApps.Metro,并详细介绍了从选择项目、设置开发环境到提交代码的全过程。通过具体示例,如添加按钮点击事件处理程序,帮助您迈出第一步。此外,还强调了提交Pull Request时保持专业沟通的重要性。参与开源不仅能提升技能,还能促进社区交流。
52 0
|
7月前
|
前端开发 Java 数据库连接
如何顺利完成毕业项目看完这篇文章有你想要的!
如何顺利完成毕业项目看完这篇文章有你想要的!
|
存储 机器学习/深度学习 JSON
【Python考试资源】包含重点知识、坑点知识,期末考试看这一份就够了
本文章总结Python的各类知识,并将知识之间进行对比,对期末考试非常有效
226 0
麒麟系统开发笔记(十一):在国产麒麟系统上使用gdb定位崩溃异常方法流程进阶定位代码行数及专项测试Demo
上一篇,通过研究,可以定位到函数,本篇进一步优化,没有行数,程序较为复杂的时候,就无法定位,所以进一步定位。   本篇做了qBreakpad的研究,但是没有成功,过程也还是填出来,后来突然注意到gdb出现行数的方法,并通过了几轮测试以及实战,确实可以定位到行数,所以为了大家方便,把国企麒麟上的Qt崩溃方法分享出来。   本篇文章比较长,就不分篇了,同时还做了专项测试。
麒麟系统开发笔记(十一):在国产麒麟系统上使用gdb定位崩溃异常方法流程进阶定位代码行数及专项测试Demo
|
传感器
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~
时隔这么长时间,我把常用的功能整理好了,再来感受VueUse工具库的优雅吧~
|
C++ UED
开心档之开发入门网-C++ 有用的资源
开心档之开发入门网-C++ 有用的资源
|
SQL 自然语言处理 关系型数据库
数据库知识点太多?作为测试掌握这些就够了【精简重点版 >直击面试>建议收藏】
数据库知识点太多?作为测试掌握这些就够了【精简重点版 >直击面试>建议收藏】
138 0
数据库知识点太多?作为测试掌握这些就够了【精简重点版 >直击面试>建议收藏】
|
存储 算法 安全
我用一个小小的开放设计题,干掉了40%的面试候选人
去年团队招聘需求比较大,本人参与了近百次的面试工作。今天来跟大家聊聊,面试候选人过程中,一个常见的开放类设计题目的解题思路,以及候选人的理解设计误区分析。
我用一个小小的开放设计题,干掉了40%的面试候选人
|
Java
磊哥工作十几年了,竟没有用过do-while!(文末送书)
磊哥工作十几年了,竟没有用过do-while!(文末送书)
185 0
磊哥工作十几年了,竟没有用过do-while!(文末送书)
|
架构师 Unix 应用服务中间件
PowerShell 主架构师:我用业余时间开发项目,表现优秀反而被微软降级了
经过两年多的时间,微软在 5 月 3 日宣布对用于 Visual Studio Code 的 PowerShell 扩展进行了一次重大更新,是对 PowerShell Editor Services 的核心 PowerShell 引擎的彻底改造。
146 0