带有Href的On-Click A-tag,套接字断开连接

时间:2014-06-03 07:19:03

标签: html href

我正在使用socket.io开发一个项目。我想给用户一些下载文件的链接

<a href="<path>" >Link Name</a>

当我点击链接下载文件时,我的套接字会断开连接。

当我使用这个

<a href="<path>" target="_blank">Link Name</a>

它工作正常。出现这种情况的原因是什么?

2 个答案:

答案 0 :(得分:1)

当您在同一窗口中关注链接时,当前页面的环境将完全被拆除,包括运行代码(和socket.io的代码)的整个JavaScript环境。这就是为什么当您在当前窗口中单击指向新页面的链接时这样做,而不是在您打开新窗口时target="_blank")。

您需要查看各种单页面应用程序技术,这些技术主要涉及使用ajax将内容交换到当前页面(并更新哈希以使URL不同),而无需在窗口中加载全新的页面

答案 1 :(得分:1)

您可以尝试将下载定位到隐藏的iframe。这会阻止页面重新加载:

<iframe id="downloadIframe" name="downloadIframe" style="display:none;"></iframe>
<a href="<path>" target="downloadIframe">Link Name</a>

我们为id指定了nameiframe,以了解跨浏览器的行为。