javascript - 单击 tel :, mailto、skype 链接时防止套接字 io 断开连接

标签 javascript websocket socket.io

我刚刚注意到,当我单击链接 <a></a> 时,套接字 io 正在断开连接其中有 href= to tel: 或 mailto: 或 skype。 我问是否有一个简短/简单的解决方法来解决这个问题。 如果链接目标设置为“_blank”,则套接字 io 保持连接,但我认为这不是首选解决方案!

谢谢!

最佳答案

您需要在事件传播到窗口之前捕获并抑制该事件。

Google:js 事件冒泡。

现在,关于如何捕获和抑制事件:

首先,您需要标识产生事件的元素或其容器。

接下来,设置文档加载事件处理程序。

在文档加载事件处理程序中,将单击事件处理程序附加到先前 ided 的元素。

点击处理程序应该有一个参数“event”并返回 void。

现在,谷歌:Javascript 事件类型,并了解可以在该事件上调用的不同方法。

我相信你需要调用的是event.stopPropagation(),但是文档(我建议MDN)应该提供权威的引用。

接下来,在事件处理程序中,实现自定义处理代码(打开新选项卡、设置当前选项卡的位置等)。

关于javascript - 单击 tel :, mailto、skype 链接时防止套接字 io 断开连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41109844/

相关文章:

javascript - 具有边框布局和动态高度子项的 ExtJS 容器

javascript - 如何迭代 aurelia 模板中的集合

javascript - 渲染热图 HTML Canvas 时调用函数

websocket - 如何从服务器重新连接到客户端

PHP 套接字服务器

ASP.NET 在将所有 websocket 数据发送到客户端之前关闭连接

JavaScript 对象 : Literal Vs Constructor

node.js - 错误 'Can' 仅在 Cloud9 上发送后设置 header

node.js - 使用 socket.io 和 Swift 3 等待消息

javascript - Socket.io socket.emit/socket.on 不工作