使用链接或键入URL关闭窗口
Window close, using link or typing URL?
有一个非常简单的问题,我还没有找到任何解决方案。有什么方法可以区分吗:
- 使用链接离开浏览器窗口(选项卡)
- 在浏览器的URL栏中键入另一个URL
- 关闭选项卡或浏览器窗口
我需要为这些操作绑定不同的Javascript代码。我知道我可以通过设置特殊类来过滤所有链接,但有什么通用的吗?
您无法检测浏览器的外部事件,例如用户单击浏览器的关闭按钮、从菜单中选择退出或在地址栏中键入新的url。
然而,您可以使用onbeforeunload
事件来做一些事情:
window.onbeforeunload = function(){
// do something
};
当用户通过单击页面链接、关闭浏览器或以任何方式离开当前页面导航到其他页面时,都会触发此操作。
您无法区分键入新URL还是关闭窗口,但您可以在所有链接中添加一个点击事件处理程序,以检查用户是否将使用链接离开:
var links = document.getElementsByTagName("a");
for(var i = 0; i < links.length; i++) {
links[i].onclick = function() {
if (this.href.test(/^http[s]?:'/'//))
//external link clicked
};
}
对于其他链接,您可以使用window.onbeforeunload
(请注意,此事件也将处理外部链接,因此如果使用以前的解决方案,请注意不要处理两次)。
相关文章:
- 按下一个HTML按钮,该按钮使用一个功能在同一个新窗口中打开URL
- asp.net MVC,重定向到视图,视图打开新窗口到外部url,它'It’’’’我们被当成一种风景
- javascript在退出时打开窗口url
- 如何在新选项卡中而不是在新窗口中打开URL
- 如何在传单.js中显示每个choropleth弹出窗口的唯一名称和URL
- 如何在 Node-Webkit 的同一窗口中打开 URL
- 表单按钮在同一窗口中打开新的URL
- 在Chrome中的适当选项卡/窗口中打开URL
- 如何使模式窗口打开动态内容并更改url
- 在d3.js中单击URL为的节点时无法打开弹出窗口
- 如何在新窗口中打开url
- 通过程序在窗口中打开一个外部URL,链接会附加到网站上
- 使用自定义内容而不是url创建弹出窗口
- Javascript;html:有没有一种方法可以找到一个顶级的命名窗口(或选项卡)并将其带到前台,而不是将url加载到
- 为什么我的URL在JavaScript中被调用为弹出窗口
- 如何发布到URL并打开一个新窗口以显示pdf格式的响应
- 使用Crossrider查找窗口并导航到URL
- 从文本框中附加url,然后使用javascript打开新窗口
- 如何在扩展上显示url的内容's弹出窗口
- 加载的NW JS窗口不会触发URL,但会从本地文件触发