如何通过javascript捕获浏览器的事件

Sur*_*esh 2 javascript browser events

我想知道是否有任何方式我们可以知道浏览器的事件..像:单击BACK按钮,FORWARD按钮,REFRESH按钮通过JavaScript.

BGe*_*sen 5

这些特定的浏览器事件不可用,因为它容易受到严重的隐私侵犯.隐私是浏览器供应商保持神圣的东西,也是一个关键的销售(众所周知).所有浏览器都允许您知道当用户进入或离开您的页面时,Kamui指出了技术细节.

在同一个站点内,可以使用cookie和javascript实现一些浏览器事件跟踪.例如,跟踪用户点击超链接并将其标记为forward事件,当用户离开页面而不点击超链接时,它可能是以下之一:

  • 浏览器网址输入
  • 回复行动
  • javascript location.href替换

当你完全控制所有的javascript时,也可以跟踪location.href替换,只需使用跟踪代码的辅助方法而不是直接chaning location.href.

离开browser url inputback action.使用cookie和请求标题(获取引用者)可以接近发现forwardback事件,虽然不是100%,但实际上,99%肯定是足够好的.

refresh使用请求标头(引用者)可以很容易地确定事件,如果当前网址与引荐者匹配,则它是一个refresh事件.

现在我没有提供代码或明确的解决方案,但我概述了您可以做什么来跟踪back,forward以及refresh单个域上下文中的事件.实现它并不是一种快速简便的方法,据我所知,现有的框架无法可靠地跟踪浏览器事件,甚至接近我上面描述的内容.

实现类似功能的更常见/懒惰的技术是创建一个single page应用程序,有许多框架可用.只是谷歌single page app framework,但这是一个非常重的解决方案与其他影响,我现在不会进入.