其实,这是我最后的question的延续。我仍然面临问题,因为当我刷新浏览器,无论是卸载或beforeunload也解雇了我只希望他们在浏览器关闭时。只是在我脑海中想要使用window.outerHeight或window.innerHeight,但仍然无法弄清楚如何做到这一点。任何建议/片段?提前致谢。检测刷新浏览器卸载/ beforeunload当浏览器关闭
回答
据我知道这是不可能检测到从浏览器中刷新单独关闭浏览器,因为浏览器不提供网页(窗口)与信息。就你的页面和它的Javascript代码而言,这两个是一样的。
因为它是你需要的,得到它是使用一些能够访问这些信息,即只有这样的浏览器信息。一个浏览器插件。但是,您需要为每个浏览器创建一个插件,并让每个用户安装它。由于我非常怀疑你会发现这是值得的,你的问题的真正答案(尽管可能会令人沮丧)是:停止尝试检测刷新与关闭并继续前进。
其实,我只是意识到我说的并不完全正确:你*可以*使用本地存储来跟踪最后一页加载的时间('var localStorage.lastLoad = new Date()'),然后检查那个时间在页面加载;如果'new Date()'足够接近'localStorage.lastLoad',则可以推断发生了重载。但是,除非他们重新加载,否则这仍然不会让你对这些信息做任何事情,所以这可能不是很有帮助。 – machineghost
你能否给出更确切的片段?我仍然不明白你的观点。在此先感谢 –
我的评论是更多的一边试图尽可能事实准确;这不是一个真正的解决方案。当有人离开你的页面(即onBeforeUnload)时,它*不会*告诉你他们是否正在重新加载,转到不同的页面或完全关闭浏览器。它会告诉你的是,当页面首次加载时,用户只是刷新或第一次来到页面(即使这样,它只是一个猜测)。 – machineghost
- 1. 卸载时关闭浏览器窗口
- 2. 检测用户浏览器是否关闭浏览器
- 3. 检测浏览器关闭在jquery/JavaScript跨浏览器
- 4. 浏览器 - 检测浏览器关闭或标签接近
- 5. Silverlight 4:检测浏览器F5 /刷新和X /关闭
- 6. 铬:当浏览器关闭
- 7. 在Javascript中检测浏览器刷新
- 8. Javascript检测浏览器关闭
- 9. Flex BlazeDS检测浏览器关闭
- 10. 检测浏览器/选项卡关闭
- 11. 检测vb.net浏览器关闭事件
- 12. 如何检测浏览器关闭?
- 13. 在Asp.net上检测浏览器关闭
- 14. 在ASP.NET中检测关闭浏览器
- 15. 检测浏览器加载
- 16. 刷新浏览器?
- 17. 关闭浏览器
- 18. 当浏览器刷新localStorage刷新
- 19. 的Html - beforeunload - 跨浏览器
- 20. Window.addcloseHandler和Window.addwindowClosingHandler不会影响浏览器关闭和浏览器刷新事件
- 21. 浏览器检测
- 22. 浏览器检测
- 23. 浏览器检测
- 24. 当硒浏览器在浏览器中更改url时检测
- 25. 使用Javascript/AngularJS检测/防止浏览器关闭或会话存储卸载
- 26. 关闭子浏览器和使用C#重新加载父浏览器#
- 27. StrongLoop API浏览器刷新
- 28. 刷新浏览器angular2
- 29. 浏览器刷新行为
- 30. C#刷新浏览器
至于服务器或浏览器而言,亲密和导航离开该页面是同义的。 –
@BradChristie:如果它的代名词,然后就会有没有机会只对收盘浏览器隔离卸载/ beforeunload事件? –
正确的假设。你可以重新访问,因为服务器会执行一个新的动作,但如果什么都没有发生,你就无法捕捉到这个(关闭窗口)的缺席。这就是为什么网站使用“上次访问后的时间”来确定谁仍然“在线”。 –