我正在尝试检测当前页面是否已在其他选项卡中打开。
我尝试使用 window.open(),但我得到的是返回当前窗口本身,而不是假定的具有相同地址的其他窗口。它总是会返回 true。
比如说,如果“mysite.com”已经打开,当用户用“mysite.com”打开一个新窗口时,我会检测到,关注另一个窗口并关闭当前窗口。
很想听听任何想法,或者这是否可能。我正在尝试将所有链接捕获到一个选项卡中。
我正在尝试检测当前页面是否已在其他选项卡中打开。
我尝试使用 window.open(),但我得到的是返回当前窗口本身,而不是假定的具有相同地址的其他窗口。它总是会返回 true。
比如说,如果“mysite.com”已经打开,当用户用“mysite.com”打开一个新窗口时,我会检测到,关注另一个窗口并关闭当前窗口。
很想听听任何想法,或者这是否可能。我正在尝试将所有链接捕获到一个选项卡中。
您可以使用 localStorage 事件在不同选项卡之间进行通信,从而检测页面是否已打开。检查这个答案:https ://stackoverflow.com/a/14792159/60745
即使您只关心同一台机器上同一浏览器中的选项卡,尝试通过纯 javascript 完成此操作的问题是,尽管您可以在每个站点页面 ( window.onload
) 上设置一个 cookie 来记录用户拥有最初访问您的网站时,没有安全的方法可以确保您在他们离开时删除此 cookie。
尽管您有onunload
&onbeforeunload
事件,但当您通过链接离开站点、使用浏览器后退按钮或关闭浏览器时,不会触发这些事件。