勿在重定向的href中定义onclick事件

2024-04-21 21:58

本文主要是介绍勿在重定向的href中定义onclick事件,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

事情时忙时停,单点登录大致算完成了。不过有个问题不断的蹦出来,是由于客户端的问题导致。
      需求是这样的:一个用户同一时间只能在一个地方登录,如果用户已经在线,则拒绝所有后面的登录。
   “在线”可以用日志System_Event来标识,惟一的入口是“用户登录”事件;而“不在线”这个状态则可能由三种事件引发:1.用户通过“注销”入口正常退出;2.操作过时Session自动注销;3.关闭浏览器等同于“注销”
      前两个容易解决,配置一个SessionListener,在sessionDestroyed接口中加上setUserOffline()方法,在事件1中只要调session.invalidate()即可,这个方法对于注销是最省事的了,不需逐个对session变量removeAttribute,不过最好是try{}catch(e){}一把。
      接下来的问题是事件3,它需要监测用户点击“关闭×”这个按钮,在不使用全屏改变Browser外观情况下,只有window.onUnload这个事件,这就需要区分是flush和close的情况了。不幸的是,目前知道两种方法的event.clientY和screenLeft经实践证明都不能很好的兼容各种浏览器!!问题在于,我牺牲了刷新的前题下,有些客户端在点击“×”时还不能确保会运行unload事件,而且怪的是,刚登录时关闭页面似乎会执行,而隔一段时间(大致是20~分钟)又不灵了。unLoad中试过几种方法,按效果从好到坏排列是:Ajax提交、window.showModalDialog、window.location=、window.open。
      还有一个问题,平时不太会注意,通常我们希望在点链接的时候再执行某些js操作。但是,发生这两件事的顺序在不同的浏览器之间又表现不同,究竟是先重定位还是先onclick呢?最好的办法是将href设为'#',然后将重定位的操作也包含在onclick中。
if (event.clientX<=0 && event.clientY<0){}
var s="close"; if(s=="fresh") if (window.screenLeft>10000){alert('关闭');}else{alert('刷新');}else{ alert('关闭');}
   

这篇关于勿在重定向的href中定义onclick事件的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/924132

相关文章

Nginx 重写与重定向配置方法

《Nginx重写与重定向配置方法》Nginx重写与重定向区别:重写修改路径(客户端无感知),重定向跳转新URL(客户端感知),try_files检查文件/目录存在性,return301直接返回永久重... 目录一.try_files指令二.return指令三.rewrite指令区分重写与重定向重写: 请求

CSS Anchor Positioning重新定义锚点定位的时代来临(最新推荐)

《CSSAnchorPositioning重新定义锚点定位的时代来临(最新推荐)》CSSAnchorPositioning是一项仍在草案中的新特性,由Chrome125开始提供原生支持需... 目录 css Anchor Positioning:重新定义「锚定定位」的时代来了! 什么是 Anchor Pos

Nginx部署React项目时重定向循环问题的解决方案

《Nginx部署React项目时重定向循环问题的解决方案》Nginx在处理React项目请求时出现重定向循环,通常是由于`try_files`配置错误或`root`路径配置不当导致的,本文给大家详细介... 目录问题原因1. try_files 配置错误2. root 路径错误解决方法1. 检查 try_f

Python开发文字版随机事件游戏的项目实例

《Python开发文字版随机事件游戏的项目实例》随机事件游戏是一种通过生成不可预测的事件来增强游戏体验的类型,在这篇博文中,我们将使用Python开发一款文字版随机事件游戏,通过这个项目,读者不仅能够... 目录项目概述2.1 游戏概念2.2 游戏特色2.3 目标玩家群体技术选择与环境准备3.1 开发环境3

C 语言中enum枚举的定义和使用小结

《C语言中enum枚举的定义和使用小结》在C语言里,enum(枚举)是一种用户自定义的数据类型,它能够让你创建一组具名的整数常量,下面我会从定义、使用、特性等方面详细介绍enum,感兴趣的朋友一起看... 目录1、引言2、基本定义3、定义枚举变量4、自定义枚举常量的值5、枚举与switch语句结合使用6、枚

如何使用Nginx配置将80端口重定向到443端口

《如何使用Nginx配置将80端口重定向到443端口》这篇文章主要为大家详细介绍了如何将Nginx配置为将HTTP(80端口)请求重定向到HTTPS(443端口),文中的示例代码讲解详细,有需要的小伙... 目录1. 创建或编辑Nginx配置文件2. 配置HTTP重定向到HTTPS3. 配置HTTPS服务器

C#如何动态创建Label,及动态label事件

《C#如何动态创建Label,及动态label事件》:本文主要介绍C#如何动态创建Label,及动态label事件,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录C#如何动态创建Label,及动态label事件第一点:switch中的生成我们的label事件接着,

spring @EventListener 事件与监听的示例详解

《spring@EventListener事件与监听的示例详解》本文介绍了自定义Spring事件和监听器的方法,包括如何发布事件、监听事件以及如何处理异步事件,通过示例代码和日志,展示了事件的顺序... 目录1、自定义Application Event2、自定义监听3、测试4、源代码5、其他5.1 顺序执行

nginx中重定向的实现

《nginx中重定向的实现》本文主要介绍了Nginx中location匹配和rewrite重定向的规则与应用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下... 目录一、location1、 location匹配2、 location匹配的分类2.1 精确匹配2

Python实现文件下载、Cookie以及重定向的方法代码

《Python实现文件下载、Cookie以及重定向的方法代码》本文主要介绍了如何使用Python的requests模块进行网络请求操作,涵盖了从文件下载、Cookie处理到重定向与历史请求等多个方面,... 目录前言一、下载网络文件(一)基本步骤(二)分段下载大文件(三)常见问题二、requests模块处理