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

简介: 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"; 
                }
            

 

目录
相关文章
|
前端开发 数据安全/隐私保护 容器
canvas实现页面水印
canvas实现页面水印
|
Web App开发 JavaScript iOS开发
Xcode9用Safari调试模拟器JS代码显示“无可检查的应用程序”的原因
Xcode9用Safari调试模拟器JS代码显示“无可检查的应用程序”的原因
1431 0
|
10月前
|
Java 微服务 Spring
微服务——SpringBoot使用归纳——Spring Boot中使用拦截器——拦截器使用实例
本文主要讲解了Spring Boot中拦截器的使用实例,包括判断用户是否登录和取消特定拦截操作两大场景。通过token验证实现登录状态检查,未登录则拦截请求;定义自定义注解@UnInterception实现灵活取消拦截功能。最后总结了拦截器的创建、配置及对静态资源的影响,并提供两种配置方式供选择,帮助读者掌握拦截器的实际应用。
442 0
|
弹性计算 Linux 数据安全/隐私保护
幻兽帕鲁服务器存档拷贝教程
介绍了Linux(ubuntu)和Windows平台下拷贝出服务器存档的教程。
幻兽帕鲁服务器存档拷贝教程
|
前端开发
学习css的clip-path属性
【7月更文挑战第1天】了解CSS `clip-path`属性,用于定义元素显示区域的裁剪形状,如圆形、椭圆、多边形、矩形及SVG路径。通过配合过渡和动画,可创建动态交互效果。例如,`clip-path: circle(radius at center);`用于创建圆形裁剪,`polygon`用于自定义多边形。还可以使用`path()`引用SVG路径数据。[资源推荐:bennettfeely.com/clippy/](https://bennettfeely.com/clippy/),提供交互式工具测试不同形状。
601 0
学习css的clip-path属性
|
算法 网络协议 Java
【JVM】——GC垃圾回收机制(图解通俗易懂)
GC垃圾回收,标识出垃圾(计数机制、可达性分析)内存释放机制(标记清除、复制算法、标记整理、分代回收)
CMS建站系统是什么?如何选择CMS建站系统?
本文对CMS建站系统进行了介绍,包括其类型、核心功能以及建站业务流程,希望帮助读者了解和选择适合自家企业的产品。
839 7
|
编解码 人工智能 自然语言处理
扩散模型的多元化应用:药物发现、文本生成、时间序列预测等
AlphaFold3是DeepMind的蛋白质结构预测软件,它引入扩散模型以提升预测准确性。扩散模型通过逐步添加和去除噪声来理解和生成数据,应用广泛,包括图像、音频、文本和时间序列数据的处理。在图像领域,它们擅长合成、编辑和超分辨率;在文本处理中,扩散模型在代码合成和问答任务中表现出色;在音频和视频生成方面也有重要应用;同时,它们在时间序列预测和增强模型鲁棒性方面也展现出潜力。随着技术发展,扩散模型将在更多领域发挥作用。
873 0
|
Java 开发工具 Android开发
搭建大型源码阅读环境——使用 OpenGrok
RTFSC 是程序员成长的必修课,营造舒适的环境至关重要。本文介绍了阅读大型源码(如 AOSP)的工具选择,重点推荐了免费开源的 OpenGrok。OpenGrok 提供快速搜索、版本历史查看、语法高亮等功能,适用于特大型项目。文章还详细讲解了 OpenGrok 的安装和配置步骤,帮助读者高效阅读源码。
2776 6
|
人工智能 自然语言处理 NoSQL
知识图谱在五大智能领域的应用
知识图谱,以实体-关系三元组形式组织数据,促进高效检索与分析。它支持智能搜索关联分析,智能问答的知识挖掘,智能推荐的个性化服务,以及智能预测如医疗诊断和金融风险识别。知识图谱结合悦数图数据库,加速复杂查询,提升智能应用的精度,驱动AI领域创新,塑造未来智能科技。

热门文章

最新文章