当前位置:  开发笔记 > 编程语言 > 正文

检测用户是否正在关闭IE浏览器而不是onunload事件,因为它在用户刷新等时触发

如何解决《检测用户是否正在关闭IE浏览器而不是onunload事件,因为它在用户刷新等时触发》经验,为你挑选了1个好方法。

在过去5天通过网络上的众多论坛后,我仍然无法完全追踪浏览器关闭事件.我的要求是在用户尝试关闭浏览器时生成弹出消息.

我在body'onbeforeunload'事件上调用了我的javascript函数.我已经硬编码条件来检查浏览器,刷新,文件关闭或Alt-F4的红色'X'按钮的鼠标坐标.

当浏览器窗口最大化时,我的代码工作正常,但如果我们在限制后缩小它,则会失败.请帮助我,如果有些人已经找到了类似问题的解决方案.

谢谢.

OP的汇总响应


好的,告诉我是否可以检测用户是否点击了浏览器的"刷新"按钮.此外,可以通过右键单击 - 刷新或Ctrl-R来触发刷新.我的要求是在Refresh上使变量为false.我只能在F5上做到这一点,但所有其他方式仍然无法实现.这同样适用于Back Buton.


嗨ppl,感谢所有回复至少的人.我已经与我的老年人谈过这个问题,他们现在已经了解并且已经对浏览器菜单按钮做出了妥协.所以现在我的任务变得简单了.现在,我正在使用一个变量并默认情况下将其设置为true.正如我之前提到的,我只需捕获onbeforeunload并在用户试图离开时弹出一条消息.当用户导航到其他页面时,该消息不会弹出,因为我使用以下代码在我的页面的所有链接上将变量设为false:

document.onclick = function() {
    //To check if user is navigating from the page by clicking on a hyperlink.
    if (event.srcElement.tagName == 'A')
        blnShowMsg = false; //To not popup the warning message
    else
        blnShowMsg = true; //To popup the warning message
}

在我的情况下,当用户执行刷新,返回或转到收藏夹中的任何链接等时,仍会显示该消息.


谢谢伙计,但我已经经历过那个并没有找到太多帮助.我的老年人对这个解决方案不满意,因为在我的应用程序的evry链接上放置一个标记是一项复杂的工作,他们害怕破坏应用程序.任何其他建议将不胜感激.再次感谢.


难道没有人能想到这里的解决方案!所有专家在哪里?



1> AnthonyWJone..:

问题不是一个不寻常的问题.然而,在搜索互联网5天后,你仍然没有找到满意的答案.这本身应该是一个相当简单的指标.

我在网上发现的是对"无能为力"答案的严重厌恶.当某些事情无法完成时,正常的反应就是没有回应.

底线不仅可以做你不想做的事,也不应该做.

我想你需要回到你的老年人那里向他们解释一个Web UI是由客户端机器上的浏览器托管的访客.这位客人身份很重要.

您是否希望您家中的客人有权强迫您在上厕所时提醒他们?没有?

类似地,浏览器限制允许访客UI访问的信息.即使你找到了一个解决方法,因为浏览器并没有自愿放弃这些信息,这些聪明的黑客很脆弱,而且很可能是错误的常见来源.

由于应用程序原本打算在任何代码被删除之前通过浏览器提供,因此错误在于首先包括要求.

我们所有人都可以同情你,被要求执行几乎不可能的,当然也不是明智的要求.

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有