Javascript:检查此窗口是否已打开

Javascript:检查此窗口是否已打开,javascript,Javascript,我试图检测当前页面是否已在其他选项卡中打开 我尝试使用window.open(),但得到的结果是返回当前窗口本身,而不是相同地址的另一个窗口。它总是会回到现实 比如说,如果“mysite.com”已经打开,当用户用“mysite.com”打开一个新窗口时,我会检测到,聚焦另一个窗口并关闭当前窗口 我很想听听任何想法,或者这是否可行。我正试图将所有链接捕获到一个选项卡中。即使您只关心同一台机器上同一浏览器中的一个选项卡,但试图通过纯javascript实现这一点的问题是,尽管您可以在每个站点页面上

我试图检测当前页面是否已在其他选项卡中打开

我尝试使用window.open(),但得到的结果是返回当前窗口本身,而不是相同地址的另一个窗口。它总是会回到现实

比如说,如果“mysite.com”已经打开,当用户用“mysite.com”打开一个新窗口时,我会检测到,聚焦另一个窗口并关闭当前窗口


我很想听听任何想法,或者这是否可行。我正试图将所有链接捕获到一个选项卡中。

即使您只关心同一台机器上同一浏览器中的一个选项卡,但试图通过纯javascript实现这一点的问题是,尽管您可以在每个站点页面上设置cookie(
window.onload
)要记录用户最初访问过您的站点,没有安全的方法确保在用户离开时删除此cookie


尽管您有
onunload
&
onbeforeuload
事件,但当您通过链接离开站点、使用浏览器后退按钮或关闭浏览器时,不会触发这些事件。

您可以使用本地存储事件在不同选项卡之间通信,从而检测页面是否已打开。检查以下答案:

我相信这是可能的,但您需要一些使用PHP的帮助。相关问题:如果用户有两台笔记本电脑,或者使用netscape和IE,或者?如果用户在工作时自己登录,而现在他在家,或者反之亦然,该怎么办?关键是,对用户进行微观管理可能会有点乏味,甚至是徒劳的。我很确定,用JS代码关闭一个选项卡并激活另一个特定选项卡是不可能的。(想象一下,当你在另一个选项卡或窗口中浏览时,如果广告能够激活自己的选项卡,那该有多烦人。)但你至少可以使用
window.close()
来关闭选项卡或窗口,但如果不是用代码打开的,浏览器可能会询问用户是否关闭选项卡/窗口。(想象一下
或可以关闭任何窗口的广告带来的乐趣…)这与微观管理无关。假设我在我的WebApp中有一个基于选项卡的导航,我希望所有指向它的链接都能在我的WebApp中简单地“添加另一个选项卡”。它们实际上不是标签,但让你感觉到我为什么想要这个=P。但我想你是对的,也许我找不到一个副本并将其聚焦…没错,实际上我已经编写了一些代码,允许同一应用程序的不同窗口中的对象相互对话。然而,这解决了一半的问题。我仍然需要原来的窗口重新获得焦点,并有第二个打开的窗口关闭。。。