勿在重定向的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

相关文章

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模块处理

Python中的异步:async 和 await以及操作中的事件循环、回调和异常

《Python中的异步:async和await以及操作中的事件循环、回调和异常》在现代编程中,异步操作在处理I/O密集型任务时,可以显著提高程序的性能和响应速度,Python提供了asyn... 目录引言什么是异步操作?python 中的异步编程基础async 和 await 关键字asyncio 模块理论

禁止平板,iPad长按弹出默认菜单事件

通过监控按下抬起时间差来禁止弹出事件,把以下代码写在要禁止的页面的页面加载事件里面即可     var date;document.addEventListener('touchstart', event => {date = new Date().getTime();});document.addEventListener('touchend', event => {if (new

Spring 源码解读:自定义实现Bean定义的注册与解析

引言 在Spring框架中,Bean的注册与解析是整个依赖注入流程的核心步骤。通过Bean定义,Spring容器知道如何创建、配置和管理每个Bean实例。本篇文章将通过实现一个简化版的Bean定义注册与解析机制,帮助你理解Spring框架背后的设计逻辑。我们还将对比Spring中的BeanDefinition和BeanDefinitionRegistry,以全面掌握Bean注册和解析的核心原理。

FreeRTOS内部机制学习03(事件组内部机制)

文章目录 事件组使用的场景事件组的核心以及Set事件API做的事情事件组的特殊之处事件组为什么不关闭中断xEventGroupSetBitsFromISR内部是怎么做的? 事件组使用的场景 学校组织秋游,组长在等待: 张三:我到了 李四:我到了 王五:我到了 组长说:好,大家都到齐了,出发! 秋游回来第二天就要提交一篇心得报告,组长在焦急等待:张三、李四、王五谁先写好就交谁的

【经验交流】修复系统事件查看器启动不能时出现的4201错误

方法1,取得『%SystemRoot%\LogFiles』文件夹和『%SystemRoot%\System32\wbem』文件夹的权限(包括这两个文件夹的所有子文件夹的权限),简单点说,就是使你当前的帐户拥有这两个文件夹以及它们的子文件夹的绝对控制权限。这是最简单的方法,不少老外说,这样一弄,倒是解决了问题。不过对我的系统,没用; 方法2,以不带网络的安全模式启动,运行命令行,输入“ne

BT天堂网站挂马事件后续:“大灰狼”远控木马分析及幕后真凶调查

9月初安全团队披露bt天堂网站挂马事件,该网站被利用IE神洞CVE-2014-6332挂马,如果用户没有打补丁或开启安全软件防护,电脑会自动下载执行大灰狼远控木马程序。 鉴于bt天堂电影下载网站访问量巨大,此次挂马事件受害者甚众,安全团队专门针对该木马进行严密监控,并对其幕后真凶进行了深入调查。 一、“大灰狼”的伪装 以下是10月30日一天内大灰狼远控的木马样本截图,可以看到该木马变种数量不